private void FillSelf(DataRow row, bool fillObj = false, bool fillNames = false) { Id = Db.DbHelper.GetValueIntOrDefault(row, "id"); IdClaim = Db.DbHelper.GetValueIntOrDefault(row, "id_claim"); IdClaim2ClaimState = Db.DbHelper.GetValueIntOrDefault(row, "id_claim2claim_state"); ProcessEnabled = Db.DbHelper.GetValueBool(row, "process_enabled"); DeviceEnabled = Db.DbHelper.GetValueBool(row, "device_enabled"); ZipClaim = Db.DbHelper.GetValueBoolOrNull(row, "zip_claim"); ZipClaimNumber = Db.DbHelper.GetValueString(row, "zip_claim_number"); CounterMono = Db.DbHelper.GetValueIntOrNull(row, "counter_mono"); CounterColor = Db.DbHelper.GetValueIntOrNull(row, "counter_color"); CounterTotal = Db.DbHelper.GetValueIntOrNull(row, "counter_total"); NoCounter = Db.DbHelper.GetValueBoolOrNull(row, "no_counter"); Descr = Db.DbHelper.GetValueString(row, "descr"); CounterUnavailable = Db.DbHelper.GetValueBoolOrNull(row, "counter_unavailable"); CounterDescr = Db.DbHelper.GetValueString(row, "counter_descr"); CreatorSid = Db.DbHelper.GetValueString(row, "creator_sid"); EngeneerSid = Db.DbHelper.GetValueString(row, "engeneer_sid"); AdminSid = Db.DbHelper.GetValueString(row, "admin_sid"); DeviceId = Db.DbHelper.GetValueIntOrDefault(row, "id_device"); WorkTypeId = Db.DbHelper.GetValueIntOrDefault(row, "id_work_type"); TimeOnWorkMinutes = Db.DbHelper.GetValueIntOrNull(row, "time_on_work_minutes"); ClientSdNum = Db.DbHelper.GetValueString(row, "client_sd_num"); DateCreate = Db.DbHelper.GetValueDateTimeOrDefault(row, "date_create"); if (fillNames) { Admin = new EmployeeSm(AdminSid); Engeneer = new EmployeeSm(EngeneerSid); Creator = new EmployeeSm(CreatorSid); } if (fillObj) { Device = new Device(DeviceId); WorkType = new WorkType(WorkTypeId); DeviceClassifierCaterory = new ClassifierCaterory(Device.ClassifierCategoryId); } }
public static ClassifierCaterory GetParentCategory(string number) { var parent = new ClassifierCaterory(); if (number.Length > 0) { //Преобразовывает номер к номеру родителя int pointIndex = number.LastIndexOf(".", StringComparison.Ordinal); string parentNumber = number.Substring(0, pointIndex); parent = new ClassifierCaterory(parentNumber); } return parent; }
public static IEnumerable<ClassifierCaterory> GetLowerList() { //SqlParameter pIdAdmin = new SqlParameter() { ParameterName = "id_admin", SqlValue = idAdmin, SqlDbType = SqlDbType.Int }; var dt = Db.Service.ExecuteQueryStoredProcedure("get_lower_classifier_category_list"); var lst = new List<ClassifierCaterory>(); foreach (DataRow row in dt.Rows) { var model = new ClassifierCaterory(row); lst.Add(model); } return lst; }
public static void SaveFromExcel(XLWorkbook wb, string creatorSid) { var attrs = ClassifierAttributes.Get(); int wtCnt = WorkType.GetList().Count(); var ws = wb.Worksheet(1); var workTypes = WorkType.GetList(); int r = 0; int headerRow = r+2; foreach (var row in ws.Rows()) { r++; if (r <= headerRow) continue; int c = 1; if (String.IsNullOrEmpty(row.Cell(c).Value.ToString())) break; string catName = row.Cell(c).Value.ToString(); c++; string catNumber = row.Cell(c).Value.ToString(); c++; int catComplexity; int.TryParse(row.Cell(c).Value.ToString(), out catComplexity); var cat = new ClassifierCaterory() { Name = catName, Number = catNumber, Complexity = catComplexity, CurUserAdSid = creatorSid }; cat.Save(); int colOffset = c; c++; while (!String.IsNullOrEmpty(ws.Row(headerRow).Cell(c).Value.ToString())) { int idCategory = cat.Id; var headerVal = ws.Row(headerRow).Cell(c).Value; string wtValue = headerVal.ToString().Trim(); int pointIndex = wtValue.IndexOf(".", StringComparison.Ordinal); string currWorkTypeSysName = wtValue; string wtType = String.Empty; if (pointIndex > -1) { currWorkTypeSysName = wtValue.Remove(pointIndex); wtType = wtValue.Substring(pointIndex); } int idWorkType = workTypes.Any(x => x.SysName == currWorkTypeSysName) ? workTypes.First(x => x.SysName == currWorkTypeSysName).Id : 0; var clItem = new ClassifierItem() { IdCategory = idCategory, IdWorkType = idWorkType, CurUserAdSid = creatorSid }; //string cellAddress = row.Cell(c).Address.ToStringRelative(); //var cVal = ws.Cell(cellAddress).Value; if (currWorkTypeSysName.Equals("НПР")) { string s = ""; } if (String.IsNullOrEmpty(wtType)) { int flag = (c - colOffset - 1) / wtCnt; switch (flag) { //первая шеренга типов работ - это время case 0: wtType = ".t"; break; //ыторая шеренга типов работ - это прайс case 1: wtType = ".wi"; break; } } if (!String.IsNullOrEmpty(wtType) && (wtType.Equals(".t") || wtType.Equals(".wi"))) { string cellValue = row.Cell(c).Value.ToString(); switch (wtType) { case ".t": int t; int.TryParse(cellValue, out t); clItem.Time = t; break; case ".wi": decimal wi; decimal.TryParse(cellValue, out wi); clItem.Price = wi; clItem.CostPeople = clItem.Price + attrs.Wage; clItem.CostCompany = clItem.Price + attrs.Overhead; break; //case ".f": // decimal f; // decimal.TryParse(cellValue, out f); // clItem.Price = f; // break; //case ".wc": // decimal wc; // decimal.TryParse(cellValue, out wc); // clItem.Price = wc; // break; } clItem.Save(); } c++; } } }