private string GenerateRequestXml(DivisionProgramModel divisionProgram) { using (StringWriter sWriter = new StringWriter()) { XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; using (XmlWriter XWriter = XmlWriter.Create(sWriter)) { XWriter.WriteStartElement("UserOrgDetails"); WriteToXML(XWriter, divisionProgram.userID, divisionProgram.MappingID, divisionProgram.IsActive); if (divisionProgram.Programs != null) { foreach (ProgramsModel userProgram in divisionProgram.Programs) { WriteToXML(XWriter, divisionProgram.userID, userProgram.MappingID, userProgram.IsActive); foreach (DivisionProgramBaseModel userProgramUnit in userProgram.ProgramUnits) { WriteToXML(XWriter, divisionProgram.userID, userProgramUnit.MappingID, userProgramUnit.IsActive); } } } XWriter.WriteEndElement(); } return(sWriter.ToString()); } }
public static DivisionProgramModel ToModel(this DivisionProgramViewModel entity) { if (entity == null) { return(null); } var model = new DivisionProgramModel { userID = entity.userID, MappingID = entity.MappingID, Name = entity.Name, IsActive = entity.IsActive, Programs = new List <ProgramsModel>(), ModifiedOn = entity.ModifiedOn }; if (entity.Programs != null) { entity.Programs.ForEach(delegate(ProgramsViewModel progModel) { var transformedModel = progModel.ToModel(); model.Programs.Add(transformedModel); }); } return(model); }
public Response <DivisionProgramModel> GetDivisionPrograms(int userID) { var repository = _unitOfWork.GetRepository <DivisionProgramDataModel>(SchemaName.Core); var procParams = new List <SqlParameter> { new SqlParameter("UserID", userID) }; var divisionProgramResult = repository.ExecuteStoredProc("usp_GetUserOrgDetailsMapping", procParams); var result = divisionProgramResult.CloneResponse <DivisionProgramModel>(); result.ID = userID; if (result.ResultCode != 0) { return(result); } result.DataItems = new List <DivisionProgramModel>(); var groupByDivisions = from userDivision in divisionProgramResult.DataItems group userDivision by userDivision.DivisionMappingID; foreach (var groupDivision in groupByDivisions) { var userDivisionProgram = new DivisionProgramModel(); userDivisionProgram.userID = userID; userDivisionProgram.MappingID = groupDivision.Key; var groupByPrograms = groupDivision.GroupBy(x => x.ProgramMappingID); foreach (var groupByProgram in groupByPrograms) { var userPrograms = new ProgramsModel(); userPrograms.MappingID = groupByProgram.Key; foreach (var item in groupByProgram) { userDivisionProgram.Name = item.Division; userDivisionProgram.CompanyMappingID = item.CompanyMappingID; userDivisionProgram.CompanyName = item.Company; userPrograms.Name = item.Program; var userProgramUnit = new DivisionProgramBaseModel(); userProgramUnit.MappingID = item.PUMappingID; userProgramUnit.Name = item.PU; userPrograms.ProgramUnits.Add(userProgramUnit); } userDivisionProgram.Programs.Add(userPrograms); } userDivisionProgram.Programs = userDivisionProgram.Programs.OrderBy(x => x.Name).ToList(); result.DataItems.Add(userDivisionProgram); } return(result); }
public Response <DivisionProgramModel> SaveDivisionProgram(DivisionProgramModel divisionProgram) { var repository = _unitOfWork.GetRepository <DivisionProgramModel>(SchemaName.Core); SqlParameter divisionXMLParam = new SqlParameter("UserOrgDetailsXML", GenerateRequestXml(divisionProgram)); divisionXMLParam.DbType = System.Data.DbType.Xml; List <SqlParameter> procParams = new List <SqlParameter>() { divisionXMLParam }; var result = _unitOfWork.EnsureInTransaction <Response <DivisionProgramModel> >(repository.ExecuteNQStoredProc, "usp_UpdateUserOrgDetailsMapping", procParams, adonResult: false); return(result); }
public static DivisionProgramViewModel ToViewModel(this DivisionProgramModel entity) { if (entity == null) { return(null); } var model = new DivisionProgramViewModel { userID = entity.userID, MappingID = entity.MappingID, Name = entity.Name, CompanyMappingID = entity.CompanyMappingID, CompanyName = entity.CompanyName, Programs = new List <ProgramsViewModel>(), ModifiedOn = entity.ModifiedOn }; if (entity.Programs != null) { entity.Programs.ForEach(delegate(ProgramsModel progModel) { var transformedModel = progModel.ToViewModel(); model.Programs.Add(transformedModel); model.RowCount += transformedModel.RowCount; }); } var firstProgram = model.Programs.FirstOrDefault(); if (firstProgram != null) { firstProgram.IsFirst = true; } var lastProgram = model.Programs.LastOrDefault(); if (lastProgram != null) { lastProgram.IsLast = true; } return(model); }
public void SaveUserDivisionPrograms_Success() { var url = baseRoute + "SaveDivisionProgram"; var Program1 = new ProgramsModel { MappingID = 9, IsActive = true, ProgramUnits = new List <DivisionProgramBaseModel> { new DivisionProgramBaseModel { MappingID = 53, IsActive = false } } }; var Program2 = new ProgramsModel { MappingID = 10, IsActive = true, ProgramUnits = new List <DivisionProgramBaseModel> { new DivisionProgramBaseModel { MappingID = 55, IsActive = false } } }; var userDivisionProgram = new DivisionProgramModel { MappingID = 3, IsActive = true, Programs = new List <ProgramsModel> { Program1, Program2 } }; var response = communicationManager.Post <DivisionProgramModel, Response <DivisionProgramModel> >(userDivisionProgram, url); Assert.IsTrue(response.DataItems != null, "Data items can't be null"); Assert.IsTrue(response.ResultCode == 0, "Result Code must be 0"); }
public Response <DivisionProgramModel> SaveDivisionProgram(DivisionProgramModel divisionProgram) { return(_divisionProgramService.SaveDivisionProgram(divisionProgram)); }
public IHttpActionResult SaveMyProfileDivisionProgram(DivisionProgramModel divisionProgram) { return(new HttpResult <Response <DivisionProgramModel> >(_divisionProgramRuleEngine.SaveDivisionProgram(divisionProgram), Request)); }
public IHttpActionResult SaveDivisionProgram(DivisionProgramModel divisionProgram) { return(new HttpResult <Response <DivisionProgramModel> >(_divisionProgramDataProvider.SaveDivisionProgram(divisionProgram), Request)); }
public Response <DivisionProgramModel> SaveDivisionProgram(DivisionProgramModel divisionProgram) { var apiUrl = BaseRoute + "SaveDivisionProgram"; return(_communicationManager.Post <DivisionProgramModel, Response <DivisionProgramModel> >(divisionProgram, apiUrl)); }