コード例 #1
0
        public Companies UpdateCompany(EditCompanyModel changes, string jsonCustomize)
        {
            var company = db.Companies.Where(i => i.Id == changes.CompanyId).FirstOrDefault();

            if (company == null)
            {
                return(null);
            }

            company.Domain           = changes.domain.Replace("http://", "");
            company.CompanyPhone     = changes.phone;
            company.Description      = changes.description;
            company.ContactName      = changes.contactName;
            company.ContactSurname   = changes.contactSurname;
            company.ContactPhone     = changes.contactPhone;
            company.BillinAddress    = changes.billinAddress;
            company.City             = changes.city;
            company.CompanySite      = changes.companySite;
            company.Name             = changes.companyName;
            company.OrgNummer        = changes.orgNummer.ToString();
            company.ZipCode          = changes.zipCode;
            company.Email            = changes.email;
            company.Country          = changes.country;
            company.Speech           = changes.speech == 0 ? 1 : changes.speech;
            company.Lang             = changes.lang == 0 ? 1 : changes.lang;
            company.SoundStatus      = changes.SoundStatus;
            company.CustomizeCompany = jsonCustomize;
            db.SaveChanges();
            SetSoundStatusToUsers(company);
            return(company);
        }
コード例 #2
0
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            var response = await WepApiMethod.SendApiAsync <DetailsCompanyModel>(HttpVerbs.Get, $"Administration/Company?id={id}");

            if (!response.isSuccess)
            {
                return(HttpNotFound());
            }

            var model = new EditCompanyModel
            {
                Id                   = response.Data.Id,
                Type                 = response.Data.Type,
                CompanyName          = response.Data.CompanyName,
                AgencyName           = response.Data.AgencyName,
                MinistryId           = response.Data.Ministry != null ? response.Data.Ministry.Id : (int?)null,
                SectorId             = response.Data.Sector != null ? response.Data.Sector.Id : (int?)null,
                CompanyRegNo         = response.Data.CompanyRegNo,
                Address1             = response.Data.Address1,
                Address2             = response.Data.Address2,
                PostCodeMalaysian    = response.Data.PostCodeMalaysian,
                PostCodeNonMalaysian = response.Data.PostCodeNonMalaysian,
                City                 = response.Data.City,
                StateId              = response.Data.State.Id,
                State                = response.Data.State.Name,
                CountryId            = response.Data.Country.Id,
                CompanyPhoneNo       = response.Data.CompanyPhoneNo,
                CountryCode          = response.Data.CountryCode,
                Name                 = response.Data.Name,
                ICNo                 = response.Data.ICNo,
                PassportNo           = response.Data.PassportNo,
                Email                = response.Data.Email,
                MobileNo             = response.Data.MobileNo,
                RoleIds              = response.Data.Roles.Select(s => s.Id).ToArray(),
                Status               = response.Data.Status
            };

            var countries = await GetCountries();

            model.MalaysiaCountryId = countries.Where(c => c.Name == "Malaysia").Select(s => s.Id).FirstOrDefault();

            model.Sectors    = new SelectList(await GetSectors(), "Id", "Name", 0);
            model.States     = new SelectList(await GetStates(), "Id", "Name", 0);
            model.Ministries = new SelectList(await GetMinistry(), "Id", "Name", 0);
            model.Countries  = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0);
            model.Roles      = new SelectList(await GetRoles(), "Id", "Name", 0);

            return(View(model));
        }
コード例 #3
0
        public ActionResult EditCompany([FromBody] EditCompanyModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var result = _companyService.EditCompany(model);
                return(Ok(result));
            }
            catch (ArgumentException e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
コード例 #4
0
        public async Task <(bool, string)> EditCompanyAsync(EditCompanyModel company)
        {
            var user = await GetAuthenticationClaimPrincipalAsync();

            if (_signInManager.IsSignedIn(user))
            {
                Company companyToUpdate = await _context.Companies.SingleOrDefaultAsync(x => x.Id == company.Id);

                if (company.Id == companyToUpdate.Id)
                {
                    if (companyToUpdate.Password.Equals(company.ConfirPassword))
                    {
                        companyToUpdate.Customer = company.Customer;
                        companyToUpdate.Name     = company.Name;

                        _context.Companies.Update(companyToUpdate);
                        await _context.SaveChangesAsync();

                        _globalVariable.SetCompany(companyToUpdate.Id, companyToUpdate.Name);
                        return(true, "Updated");
                    }
                    else
                    {
                        return(false, "Wrong Password.");
                    }
                }
                else
                {
                    return(false, "Id's don't match.");
                }
            }
            else
            {
                return(false, "Not Authorized");
            }
        }
コード例 #5
0
        public async Task <ActionResult> Edit(EditCompanyModel model)
        {
            if (model.Type == CompanyType.Government)
            {
                ModelState.Remove("PassportNo");
                ModelState.Remove("PostCodeNonMalaysian");
                ModelState.Remove("State");
                ModelState.Remove("CountryId");
                ModelState.Remove("CompanyName");
                ModelState.Remove("CompanyRegNo");
                ModelState.Remove("SectorId");

                model.CountryId = model.MalaysiaCountryId;
            }
            else if (model.Type == CompanyType.MalaysianCompany)
            {
                ModelState.Remove("PassportNo");
                ModelState.Remove("PostCodeNonMalaysian");
                ModelState.Remove("State");
                ModelState.Remove("CountryId");
                ModelState.Remove("AgencyName");
                ModelState.Remove("MinistryId");

                model.CountryId = model.MalaysiaCountryId;
            }
            else
            {
                ModelState.Remove("ICNo");
                ModelState.Remove("PostCodeMalaysian");
                ModelState.Remove("StateId");
                ModelState.Remove("AgencyName");
                ModelState.Remove("MinistryId");
                ModelState.Remove("CompanyRegNo");
            }

            var emailResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsEmailExist?id={model.Id}&email={model.Email}");

            if (emailResponse.isSuccess)
            {
                ModelState.AddModelError("Email", Language.Administrator.Company.ValidIsExistEmail);
            }

            var icno = model.ICNo;

            if (model.Type == CompanyType.NonMalaysianCompany)
            {
                icno = model.PassportNo;
            }

            var icnoResponse = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Get, $"Administration/User/IsICNoExist?id={model.Id}&icno={icno}");

            if (icnoResponse.isSuccess)
            {
                if (model.Type == CompanyType.NonMalaysianCompany)
                {
                    ModelState.AddModelError("PassportNo", Language.Administrator.Company.ValidIsExistPassportNo);
                }
                else
                {
                    ModelState.AddModelError("ICNo", Language.Administrator.Company.ValidIsExistICNo);
                }
            }

            if (ModelState.IsValid)
            {
                var response = await WepApiMethod.SendApiAsync <bool>(HttpVerbs.Put, $"Administration/Company?id={model.Id}", model);

                if (response.Data)
                {
                    await LogActivity(Modules.Setting, "Update Agency User", model);

                    TempData["SuccessMessage"] = Language.Administrator.Company.AlertEditSuccess;

                    return(RedirectToAction("Details", "Company", new { area = "Administrator", @id = model.Id }));
                }
                else
                {
                    TempData["SuccessMessage"] = Language.Administrator.Company.AlertEditFail;

                    return(RedirectToAction("Details", "Company", new { area = "Administrator", @id = model.Id }));
                }
            }

            var countries = await GetCountries();

            model.MalaysiaCountryId = countries.Where(c => c.Name == "Malaysia").Select(s => s.Id).FirstOrDefault();

            model.Sectors    = new SelectList(await GetSectors(), "Id", "Name", 0);
            model.States     = new SelectList(await GetStates(), "Id", "Name", 0);
            model.Ministries = new SelectList(await GetMinistry(), "Id", "Name", 0);
            model.Countries  = new SelectList(countries.Where(c => c.Name != "Malaysia"), "Id", "Name", 0);
            model.Roles      = new SelectList(await GetRoles(), "Id", "Name", 0);

            return(View(model));
        }
コード例 #6
0
        public ResponseModel EditCompany(EditCompanyModel model)
        {
            ResponseModel resp = new ResponseModel();

            try
            {
                var validateCompany = new EditCompanyModelValidator().Validate(model);
                if (validateCompany.IsValid)
                {
                    Company company = _companyRepository.GetCompanyByUserId(Guid.Parse(model.UserId));
                    if (company != null)
                    {
                        EditUserModel editUserModel = new EditUserModel
                        {
                            UsuarioId    = model.UserId,
                            Name         = model.Name,
                            Locations    = model.Locations,
                            PhoneNumbers = model.PhoneNumbers,
                            Imagem       = model.Imagem
                        };

                        var userResponse = _userService.EditUserFromModel(editUserModel);
                        if (userResponse.Success)
                        {
                            User companyUser = userResponse.Result as User;

                            company.Policy.LimitCancelHours = model.LimitCancelHours;
                            company.Policy.LastUpdatedAt    = DateTimeUtil.UtcToBrasilia();
                            company.Policy.UpdatedBy        = companyUser.UserId;

                            company.Descricao = model.Descricao;
                            company.User      = companyUser;

                            company.LastUpdatedAt = DateTimeUtil.UtcToBrasilia();
                            company.UpdatedBy     = companyUser.UserId;

                            _companyRepository.Edit(company);

                            resp.Success = true;
                            resp.Message = "Empresa editada com sucesso";
                        }
                        else
                        {
                            resp = userResponse;
                        }
                    }
                    else
                    {
                        resp.Message = "Empresa não econtrada no banco de dados";
                    }
                }
                else
                {
                    resp.Message = validateCompany.Errors.FirstOrDefault().ErrorMessage;
                }
            }catch (Exception e)
            {
                resp.Message = "Não foi possível editar a empresa";
            }

            return(resp);
        }
コード例 #7
0
        public IHttpActionResult Put(int id, [FromBody] EditCompanyModel model)
        {
            if (model.Type == CompanyType.Government)
            {
                ModelState.Remove("model.PassportNo");
                ModelState.Remove("model.PostCodeNonMalaysian");
                ModelState.Remove("model.State");
                ModelState.Remove("model.CountryId");
                ModelState.Remove("model.CompanyName");
                ModelState.Remove("model.CompanyRegNo");
                ModelState.Remove("model.SectorId");
            }
            else if (model.Type == CompanyType.MalaysianCompany)
            {
                ModelState.Remove("model.PassportNo");
                ModelState.Remove("model.PostCodeNonMalaysian");
                ModelState.Remove("model.State");
                ModelState.Remove("model.CountryId");
                ModelState.Remove("model.AgencyName");
                ModelState.Remove("model.MinistryId");
            }
            else
            {
                ModelState.Remove("model.ICNo");
                ModelState.Remove("model.PostCodeMalaysian");
                ModelState.Remove("model.StateId");
                ModelState.Remove("model.AgencyName");
                ModelState.Remove("model.MinistryId");
                ModelState.Remove("model.CompanyRegNo");
            }

            if (ModelState.IsValid)
            {
                var user        = db.User.Where(u => u.Id == id).FirstOrDefault();
                var company     = db.CompanyProfile.Where(c => c.UserId == id).FirstOrDefault();
                var useraccount = db.UserAccount.Where(u => u.UserId == id).FirstOrDefault();

                if (user == null || company == null || useraccount == null)
                {
                    return(NotFound());
                }

                var countryCode = db.Country.Where(c => c.Id == model.CountryId && c.Display).FirstOrDefault();

                if (countryCode == null)
                {
                    return(InternalServerError());
                }

                user.Name        = model.Name;
                user.ICNo        = model.Type == CompanyType.NonMalaysianCompany ? model.PassportNo : model.ICNo;
                user.Email       = model.Email;
                user.MobileNo    = model.MobileNo;
                user.CountryCode = countryCode.CountryCode1;

                company.Type           = model.Type;
                company.MinistryId     = model.MinistryId;
                company.CompanyName    = model.Type == CompanyType.Government ? model.AgencyName : model.CompanyName;
                company.CompanyRegNo   = model.CompanyRegNo;
                company.SectorId       = model.SectorId;
                company.Address1       = model.Address1;
                company.Address2       = model.Address2;
                company.City           = model.City;
                company.StateId        = model.StateId;
                company.StateName      = model.State;
                company.PostCode       = model.Type != CompanyType.NonMalaysianCompany ? model.PostCodeNonMalaysian : model.PostCodeMalaysian;
                company.CompanyPhoneNo = model.CompanyPhoneNo;
                company.CountryCode    = countryCode.CountryCode1;

                useraccount.LoginId = model.Email;

                db.User.Attach(user);
                db.Entry(user).Property(x => x.Name).IsModified        = true;
                db.Entry(user).Property(x => x.ICNo).IsModified        = true;
                db.Entry(user).Property(x => x.Email).IsModified       = true;
                db.Entry(user).Property(x => x.MobileNo).IsModified    = true;
                db.Entry(user).Property(x => x.CountryCode).IsModified = true;

                db.UserAccount.Attach(useraccount);
                db.Entry(useraccount).Property(x => x.LoginId).IsModified = true;

                db.Entry(company).State = EntityState.Modified;

                db.UserRole.RemoveRange(db.UserRole.Where(u => u.UserId == id));//remove all
                foreach (var roleid in model.RoleIds)
                {
                    var userrole = new UserRole
                    {
                        RoleId = roleid,
                        UserId = id,
                    };

                    db.UserRole.Add(userrole);
                }

                db.Configuration.ValidateOnSaveEnabled = true;
                db.SaveChanges();

                return(Ok(true));
            }

            return(BadRequest(ModelState));
        }
コード例 #8
0
ファイル: CompanyService.cs プロジェクト: kuralekh/oTinProj
        public static Companies UpdateCompany(HttpServerUtilityBase server, HttpFileCollectionBase files, EditCompanyModel changes)
        {
            CustomizeCompany customize = new CustomizeCompany
            {
                StartVideo             = changes.startVideo ?? "",
                LogoUrl                = changes.logoUrl ?? "",
                LoginLogoUrl           = changes.loginLogoUrl ?? "",
                MenuActiveColor        = changes.menuActiveColor ?? "",
                MenuPassiveColor       = changes.menuPassiveColor ?? "",
                HeaderColor            = changes.headerColor ?? "",
                ButtonsBackgroundColor = changes.buttonsBackgroundColor ?? "",
                ButtonsActiveColor     = changes.buttonsActiveColor ?? ""
            };

            CompanyHelper.SaveFiles(server, files, changes.companyName, customize);

            string json = JsonConvert.SerializeObject(customize);

            return(companyRepo.UpdateCompany(changes, json));
        }
コード例 #9
0
ファイル: CompanyService.cs プロジェクト: kuralekh/oTinProj
        public static Companies AddCompany(HttpServerUtilityBase Server, HttpFileCollectionBase httpFileCollectionBase, EditCompanyModel model)
        {
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

            UserManager.UserValidator = new UserValidator <ApplicationUser>(UserManager)
            {
                AllowOnlyAlphanumericUserNames = false
            };

            Companies        tmp       = model.Companies;
            CustomizeCompany customize = new CustomizeCompany
            {
                StartVideo             = model.startVideo ?? "",
                LogoUrl                = model.logoUrl ?? "",
                LoginLogoUrl           = model.loginLogoUrl ?? "",
                MenuActiveColor        = model.menuActiveColor ?? "",
                MenuPassiveColor       = model.menuPassiveColor ?? "",
                HeaderColor            = model.headerColor ?? "",
                ButtonsBackgroundColor = model.buttonsBackgroundColor ?? "",
                ButtonsActiveColor     = model.buttonsActiveColor ?? ""
            };

            CompanyHelper.SaveFiles(Server, httpFileCollectionBase, model.companyName, customize);
            string pswd = CommonHelper.UserKey();

            tmp.CustomizeCompany = JsonConvert.SerializeObject(customize);
            tmp.TempPassword     = pswd;
            tmp.Speech           = model.speech;
            tmp.Lang             = model.lang;
            tmp.CompanyStatus    = (int)Status.NewlyCreated;
            tmp.Created          = DateTime.Now;
            companyRepo.AddCompany(tmp);

            var department = new NewDB.Departments();

            department.CompanyId      = tmp.Id;
            department.DepartmentName = CompanyHelper.InnitialDepartment;
            department = companyRepo.AddNewDepartment(department);
            //var userName = tmp.Name.Replace(" ", "_");

            var userName = tmp.ContactName + "_" + tmp.ContactSurname;
            var user     = new ApplicationUser()
            {
                UserName = userName
            };
            var result = UserManager.Create(user, pswd);

            if (result.Succeeded)
            {
                UserManager.AddToRole(user.Id, "User");
                UserManager.AddToRole(user.Id, "Manager");
                UserManager.AddToRole(user.Id, "Administrator");
                var userProfile = new UserProfiles
                {
                    CompanyId    = tmp.Id,
                    Email        = tmp.Email,
                    Firstname    = tmp.ContactName,
                    Lastname     = tmp.ContactSurname,
                    Phone        = tmp.ContactPhone,
                    AspNetUserId = user.Id,
                    DepartmentId = department.Id,
                    UserKey      = CommonHelper.UserKey(),
                    Lang         = 3,
                    Speech       = 3
                };
                userProfile = UserService.AddUser(userProfile);
                //do not remove. It's magic spell, that makes entity work correctly
                userProfile.AspNetUsers = new AspNetUsers {
                    UserName = user.UserName, Id = user.Id
                };
                tmp.AdminId = userProfile.Id;
            }
            return(tmp);
        }