public ActionResult RoomStatusInsert(StatusesModel status) { Statuses st = status.ModelToEnity(); st.IsActive = true; _serviceStatuses.Insert(st); return(RedirectToAction("RoomStatusList")); }
public static Statuses ModelToEnity(this StatusesModel model, bool virtualActive = false) { Statuses entity = new Statuses() { Name = model.Name, Id = model.Id, IsActive = model.IsActive }; if (virtualActive) { entity.RoomStatuses = model.RoomStatuses; } return(entity); }
public static StatusesModel EntityToModel(this Statuses entity, bool virtualActive = false) { try { StatusesModel model = new StatusesModel() { Name = entity.Name, IsActive = entity.IsActive, Id = entity.Id }; if (virtualActive) { model.RoomStatuses = entity.RoomStatuses; } return(model); } catch (Exception) { return(new StatusesModel()); } }
private static List<List<string>> PeformConvert(StatusesModel statusesModel,DocumentModel documentModel ,IEnumerable<Detail> details) { List<List<string>> sheet = new List<List<string>>(); int statusCount = statusesModel.StatsList.Count; // header List<string> statuses = new List<string>(); statuses.Add(""); statuses.AddRange(statusesModel.StatsList); sheet.Add(statuses); // инициализация столбца документов for (int i = 1; i < documentModel.DictDoc.Count+1; i++) { List<string> row = new List<string>(new string[statusCount+1]);// +1 так как статусы должны быть смещены вправо на одну клетку. row[0] = documentModel.DocList[i-1]; sheet.Add(row); } // пошла жара foreach (var detail in details) { try { int row = documentModel.DictDoc[detail.docNum]; int column = statusesModel.DictStat[detail.StatusId]; sheet[row][column] = detail.statDate.ToString(); } catch (Exception) { // не придумал чего делать throw; } } return sheet; }
private static StatusesModel GetStatusHashDictionary() { StatusesModel statusesModel = new StatusesModel(); using (StatusService statusService = new StatusService()) { var statuses = statusService.GetStatuses(); // таблица соответствий. Ключ - ид статуса, значение - будущая позиция в файле int i = 1; foreach (var status in statuses) { statusesModel.DictStat.Add( status.id,i); statusesModel.StatsList.Add(status.name); i++; } return statusesModel; } }