예제 #1
0
        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());
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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");
        }
예제 #7
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));
 }
예제 #10
0
        public Response <DivisionProgramModel> SaveDivisionProgram(DivisionProgramModel divisionProgram)
        {
            var apiUrl = BaseRoute + "SaveDivisionProgram";

            return(_communicationManager.Post <DivisionProgramModel, Response <DivisionProgramModel> >(divisionProgram, apiUrl));
        }