- 1
- 2
- 3
- 4
- 5
- 6
var inited = Connectivity.Init().Result;
inited = ServerService.Init().Result && inited;
inited = AccountInfoService.Init().Result && inited;
inited = InitMandatoryServices() && inited;
IsInit = inited;Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 7
−1
var inited = Connectivity.Init().Result;
inited = ServerService.Init().Result && inited;
inited = AccountInfoService.Init().Result && inited;
inited = InitMandatoryServices() && inited;
IsInit = inited;
+142
if (_availabilityOfThisPersonnel == null)
     _availabilityOfThisPersonnel = new List<Availability>();
if (_availabilityOfThisPersonnel.Any())
    _availabilityOfThisPersonnel.Clear();
+142
/// <summary>
        /// Обновление данных о объекте
        /// </summary>
        /// <param name="theObject">ссылка на объект</param>
        public void Update(IPersistentObject theObject)
        {
            IDbCommand updateCommand = null;
            try
            {
                using (updateCommand = CreateUpdateCommand(theObject))
                {
                    updateCommand.Connection.Open();
                    updateCommand.ExecuteNonQuery();
                }
            }
            catch (DbException ex)
            {
                int code = 0;
                if (ex is SqlException)
                {
                    code = ((SqlException) ex).Number;
                }
                if (code == 229)
                {
                    ex.Data.Add("Name", theObject.ClassInfo.Name);
                    ex.Data.Add("Description", theObject.ClassInfo.Description);
                    ex.Data.Add("Action", "UPDATE");
                    throw new InvalidOperationException(
                        String.Format("Ошибка обновления объекта [{0}] - {1} (ID = '{2}')",
                                      theObject.ClassInfo.Name,
                                      theObject.ClassInfo.Description,
                                      theObject.ID), ex);
                }
                if (code == 207 || code == 208)
                {
                    throw new InvalidColumnException(theObject.ClassInfo, ex);
                }
                //theObject заменен на theObject.ID. Нечитабельно, но ... Т. к. при вычислении ToString()
                //для показа объекта иногда задействуются методы загрузки данных
                //названия объекта. Таким образом при высоком уровне изоляции транзакции
                //мы получим зависание если будет попытка загрузить данные заблокированные транзакцией.
                TraceLogger.Log(String.Format("Update {0}({1}){4} - {2}\n{3}", theObject.ID, theObject.ClassInfo,
                                              ex.Message, ex.InnerException, theObject.GetInfoToTraceMessage()),
                                TraceTypeEnum.UpdateStatement);
                throw;
            }
            finally
            {
                if (updateCommand != null)
                {
                    updateCommand.Connection.Close();
                }
            }
        }
            смертельный прием using
и добьем соперника используя finally как фаталити
перехват исключения тоже хорош, авторский комментарий добавляет изюминку
        
+142
public IndividualService Service
        {
            get { return _service; }
            set
            {
                if (value == null || !value.IsDNSeriaHeader)
                    _service = value;
                else
                {
                    if (!IsLoading && Initialized)
                        XtraMessageBox.Show("Услуга по записи о ДН не должна быть заголовком ДН", "Внимание",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }MessageBox на сеттере в EDM (если говорить в терминах Entity Framework)
+142
private MonthCalendarModel GetMonthCalendar(int year, int month, string roleId, string doctorId)
{
var days = new List<DayCalendarModel>();
var today = DateTime.Today;
var firstDay = new DateTime(year, month, 1);
int firstDayOfWeek = 0;
if (firstDay.DayOfWeek == DayOfWeek.Monday)
    firstDayOfWeek = 1;
if (firstDay.DayOfWeek == DayOfWeek.Tuesday)
    firstDayOfWeek = 2;
if (firstDay.DayOfWeek == DayOfWeek.Wednesday)
    firstDayOfWeek = 3;
if (firstDay.DayOfWeek == DayOfWeek.Thursday)
    firstDayOfWeek = 4;
if (firstDay.DayOfWeek == DayOfWeek.Friday)
    firstDayOfWeek = 5;
if (firstDay.DayOfWeek == DayOfWeek.Saturday)
    firstDayOfWeek = 6;
if (firstDay.DayOfWeek == DayOfWeek.Sunday)
    firstDayOfWeek = 7;
for(int i= firstDayOfWeek-1; i > 0; i--)
{
    DateTime day = firstDay.AddDays(-i);
    days.Add(new DayCalendarModel{Available = -1, Day = day.Day, Enabled = false, CssClass = string.Empty});
}
DateScheduler dateScheduler = GetDateScheduler(roleId, doctorId);
DateTime date;
for( date = firstDay; date.Month == month; date = date.AddDays(1)) {
    string cssClass = dateScheduler.CheckDate(date, true) ? "free": "disbl";
    bool enabled = (date >= today);
    cssClass = enabled ? cssClass : string.Empty;
	days.Add(new DayCalendarModel(){Available = 3, Day = date.Day, Enabled = enabled, CssClass = cssClass, Date = date.ToString(FormatHelper.DateOnlySerializationFormat)});
}
if(date.DayOfWeek != DayOfWeek.Monday) {
    for(; GetDayOfWeek(date.DayOfWeek) <= 7; date = date.AddDays(1)) {
        days.Add(new DayCalendarModel()
            {Available = -1, Day = date.Day, Enabled = false, CssClass = string.Empty});
        if(date.DayOfWeek == DayOfWeek.Sunday) {
            break;
        }
    }
}
// пропущено ...
}
private int GetDayOfWeek(DayOfWeek dayOfWeek)
{
    if(dayOfWeek == System.DayOfWeek.Sunday)
	{
        return 7;
    }
    return (int)dayOfWeek;
}полученный List<DayCalendarModel> используется для отображения пользователю календаря с отмеченными днями работы врача
+145
var lst = new List<string>();
foreach (String parameterName in parameters.Keys) // parameters это Dictionary<String, Object>
{
	lst.Add(parameterName + ": " + parameters[parameterName].ToString());
}Долгий вариант перебора словаря: перебор ключей в цикле и на каждой итерации получение по ключу значения из словаря
+142
public String ExecuteInDispancerMonitoring
        {
            get
            {
                string st = "";
                IndividualService service = this;
                int iter = 100;
                while (iter != 0)
                {
                    if (service.ParentService != null)
                    {
                        service = service.ParentService;
                        if (service is DispanserMonitoring)
                        {
                            st = service.CalcStrServiceName; // Строковое представление названия услуги
                            if (service.CalcStartDate.HasValue)
                            {
                                st += " c " + service.CalcStartDate.Value.ToShortDateString();
                            }
                            return st;
                        }
                    }
                    else
                    {
                        return st;
                    }
                    iter--;
                }
                return "";
            }
        }