Пример #1
0
        public IHttpActionResult UpdateRepgroup(RepgroupModel model)
        {
            var response = new DataResponse <EntityRepGroups>();

            if (ModelState.IsValid)
            {
                var entityRepGroups = new EntityRepGroups();
                entityRepGroups.Id                 = model.Id;
                entityRepGroups.RepGroupName       = model.RepGroupName;
                entityRepGroups.Description        = model.Description;
                entityRepGroups.SalesDirectorId    = model.SalesDirectorId;
                entityRepGroups.BusinessId         = CurrentBusinessId;
                entityRepGroups.RepGroupManagerIds = new List <int>();
                entityRepGroups.SalesDirectorIds   = new List <int>();
                if (model.IsActive != null)
                {
                    entityRepGroups.IsActive = model.IsActive.Value;
                }
                entityRepGroups.CreatedBy = CurrentUserId;
                entityRepGroups.CreatedOn = DateTime.UtcNow;
                foreach (var item in model.SalesDirectorIds)
                {
                    entityRepGroups.SalesDirectorIds.Add(item);
                }
                foreach (var item in model.RepGroupManagerIds)
                {
                    entityRepGroups.RepGroupManagerIds.Add(item);
                }

                response = repository.Update(entityRepGroups);
            }
            return(Ok <DataResponse>(response));
        }
        public IHttpActionResult InsertRepgroupData(EntityRepGroups model)
        {
            var response = new DataResponse <EntityRepGroups>();

            if (ModelState.IsValid)
            {
                model.UpdatedBy  = model.CreatedBy = CurrentUserId;
                model.BusinessId = CurrentBusinessId;
                if (model.Id > 0)
                {
                    response = new RepositoryRepGroups().Update(model);
                }
                else
                {
                    response = new RepositoryRepGroups().Insert(model);
                }
                return(Ok <DataResponse>(response));
            }
            else
            {
                var errorList = ModelState.Where(a => a.Value.Errors.Any()).Select(s => new
                {
                    Key     = s.Key.Split('.').Last(),
                    Message = s.Value.Errors[0].ErrorMessage
                });
                return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = errorList }));
            }
        }
        public DataResponse <EntityRepGroups> Insert(EntityRepGroups entity)
        {
            var response = new DataResponse <EntityRepGroups>();

            try
            {
                base.DBInit();

                var model = new Database.RepGroup
                {
                    BusinessId   = entity.BusinessId,
                    RepGroupName = entity.RepGroupName,
                    Description  = entity.Description,
                    CreatedBy    = entity.CreatedBy,
                    CreatedOn    = entity.CreatedOn,
                    IsActive     = true,
                    //SalesDirectorId = entity.SalesDirectorId,
                };

                if (base.DBSave(model) > 0)
                {
                    if (entity.SalesDirectorIds != null && entity.SalesDirectorIds.Count() > 0)
                    {
                        foreach (var item in entity.SalesDirectorIds)
                        {
                            DBEntity.RepgroupManagerMappers.Add(new RepgroupManagerMapper {
                                RepGroupId = model.Id, ManagerId = item, UserRole = (int)RepgroupUserType.Director, CreatedBy = entity.CreatedBy, CreatedOn = entity.CreatedOn
                            });
                            DBEntity.SaveChanges();
                        }
                    }
                    if (entity.RepGroupManagerIds != null && entity.RepGroupManagerIds.Count() > 0)
                    {
                        foreach (var item in entity.RepGroupManagerIds)
                        {
                            DBEntity.RepgroupManagerMappers.Add(new RepgroupManagerMapper {
                                RepGroupId = model.Id, ManagerId = item, UserRole = (int)RepgroupUserType.Manager, CreatedBy = entity.CreatedBy, CreatedOn = entity.CreatedOn
                            });
                            DBEntity.SaveChanges();
                        }
                    }
                    entity.Id = model.Id;
                    response.CreateResponse(entity, DataResponseStatus.OK);
                }
                else
                {
                    response.CreateResponse(DataResponseStatus.InternalServerError);
                }
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }
            return(response);
        }
        public DataResponse <EntityRepGroups> Update(EntityRepGroups entity)
        {
            var response = new DataResponse <EntityRepGroups>();

            try
            {
                base.DBInit();

                entity.UpdatedOn = DateTime.UtcNow;

                #region Prepare model
                var model = DBEntity.RepGroups.FirstOrDefault(a => a.Id == entity.Id);
                model.RepGroupName = entity.RepGroupName;
                model.Description  = entity.Description;
                model.IsActive     = entity.IsActive;
                model.UpdatedOn    = entity.UpdatedOn;
                model.UpdatedBy    = entity.UpdatedBy;
                //model.SalesDirectorId = entity.SalesDirectorId > 0 ? entity.SalesDirectorId : null;
                #endregion

                if (base.DBSaveUpdate(model) > 0)
                {
                    IEnumerable <RepgroupManagerMapper> RepGroupManagerIds = DBEntity.RepgroupManagerMappers.Where(a => a.RepGroupId == model.Id && a.UserRole == (int)RepgroupUserType.Manager).ToList();
                    if (RepGroupManagerIds.Count() > 0)
                    {
                        DBEntity.RepgroupManagerMappers.RemoveRange(RepGroupManagerIds);
                        DBEntity.SaveChanges();
                    }
                    if (entity.RepGroupManagerIds != null && entity.RepGroupManagerIds.Count() > 0)
                    {
                        foreach (var item in entity.RepGroupManagerIds)
                        {
                            DBEntity.RepgroupManagerMappers.Add(new RepgroupManagerMapper {
                                RepGroupId = model.Id, ManagerId = item, UserRole = (int)RepgroupUserType.Manager, CreatedBy = entity.CreatedBy, CreatedOn = entity.CreatedOn
                            });
                            DBEntity.SaveChanges();
                        }
                    }

                    IEnumerable <RepgroupManagerMapper> RepGroupDirectorsIds = DBEntity.RepgroupManagerMappers.Where(a => a.RepGroupId == model.Id && a.UserRole == (int)RepgroupUserType.Director).ToList();
                    if (RepGroupDirectorsIds.Count() > 0)
                    {
                        DBEntity.RepgroupManagerMappers.RemoveRange(RepGroupDirectorsIds);
                        DBEntity.SaveChanges();
                    }

                    if (entity.SalesDirectorIds != null && entity.SalesDirectorIds.Count() > 0)
                    {
                        foreach (var item in entity.SalesDirectorIds)
                        {
                            DBEntity.RepgroupManagerMappers.Add(new RepgroupManagerMapper {
                                RepGroupId = model.Id, ManagerId = item, UserRole = (int)RepgroupUserType.Director, CreatedBy = entity.CreatedBy, CreatedOn = entity.CreatedOn
                            });
                            DBEntity.SaveChanges();
                        }
                    }

                    return(GetRepGroupById(model.Id));
                }
                else
                {
                    response.CreateResponse(DataResponseStatus.InternalServerError);
                }
            }
            catch (Exception ex)
            {
                ex.Log();
            }
            finally
            {
                base.DBClose();
            }
            return(response);
        }