Example #1
0
        public static object Update(OrgContactVm data, string password)
        {
            ApplicationUser user = null;

            try
            {
                if (data.ContactId == 0) //New User?
                {
                    user = new ApplicationUser()
                    {
                        UserName = data.UserName, Email = data.UserName
                    };

                    var ir = UserMgr.Create(user, password);
                    if (!ir.Succeeded)
                    {
                        return(IdentityErrors(ir.Errors));
                    }
                }

                var mr = OrgMgr.UpdateOrgContact(Utils.LoggedUser, ref data);
                if (mr.Status == ResponseStatus.Success)
                {
                    return(Utils.ServiceResponse(PageCode, mr));
                }

                if (user != null)
                {
                    UserMgr.Delete(user);
                }
                return(Utils.ServiceResponse(PageCode, mr));
            }
            catch (Exception ex)
            {
                if (user != null)
                {
                    UserMgr.Delete(user);
                }
                return(Utils.ServiceResponse(new ModelResponse(ex)));
            }
        }
Example #2
0
        public ModelResponse UpdateOrgContact(UserInfo user, ref OrgContactVm vm)
        {
            try
            {
                //Authorization
                if (user == null)
                {
                    return(new ModelResponse(101));
                }
                if (string.IsNullOrWhiteSpace(user.UserId))
                {
                    return(new ModelResponse(101));
                }
                if (PUserRepo.GetUserClass(user) != UserClass.OrgAdmin)
                {
                    return(new ModelResponse(101));
                }

                //Validations
                if (vm.UserName.HasNoValue() ||
                    vm.FullName.IsNullOrWhiteSpace() ||
                    vm.Department.IsNullOrWhiteSpace() ||
                    vm.JobTitle.IsNotASubCode())
                {
                    return(new ModelResponse(1));
                }

                //Save to DB
                vm.PortalUserId = (long)user.PortalUserId;
                Repo.UpdateOrgContact(ref vm, user.UserId);
            }
            catch (Exception ex)
            {
                return(new ModelResponse(ex));
            }

            return(new ModelResponse(0, vm.ContactId));
        }
Example #3
0
        public long UpdateOrgContact(ref OrgContactVm vm, string userId)
        {
            using (var db = new LMISEntities())
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var contactId       = vm.ContactId;
                        var contactUserName = vm.UserName;
                        var contactUserId   = db.AspNetUsers.Where(u => u.UserName == contactUserName).Select(u => u.Id).Single();

                        if (vm.Mobile == null)
                        {
                            vm.Mobile = "";
                        }
                        if (vm.Telephone == null)
                        {
                            vm.Telephone = "";
                        }

                        OrganizationContact_Info orgContact;

                        if (contactId < 1) //Insert
                        {
                            orgContact = db.OrganizationContact_Info.Add(new OrganizationContact_Info()
                            {
                                PortalUsersID = vm.PortalUserId,
                                UserID        = contactUserId,
                                JobTitleID    = vm.JobTitle,
                                Mobile        = vm.Mobile,
                                Telephone     = vm.Telephone,
                                Fax           = vm.Fax,
                                Email         = contactUserName,
                                IsApproved    = (byte)Approval.Approved,
                                PostDate      = DateTime.UtcNow,
                                PostUSerID    = userId
                            });
                        }
                        else //Update
                        {
                            orgContact              = db.OrganizationContact_Info.Single(r => r.IsDeleted == null && r.OrganizationContactID == contactId);
                            orgContact.JobTitleID   = vm.JobTitle;
                            orgContact.Mobile       = vm.Mobile;
                            orgContact.Telephone    = vm.Telephone;
                            orgContact.Fax          = vm.Fax;
                            orgContact.UpdateDate   = DateTime.UtcNow;
                            orgContact.UpdateUSerID = userId;

                            db.OrganizationContactInfoDetails.RemoveRange(orgContact.OrganizationContactInfoDetails);
                        }

                        var orgContactDets = Utils.MultilingualDataSet(
                            new Dictionary <string, GlobalString>
                        {
                            { "c1", vm.FullName },
                            { "c2", vm.Department }
                        });

                        foreach (var r in orgContactDets)
                        {
                            orgContact.OrganizationContactInfoDetails.Add(new OrganizationContactInfoDetail()
                            {
                                LanguageID      = r["c1"].L,
                                ContactFullName = r["c1"].T,
                                Department      = r["c2"].T,
                            });
                        }

                        db.SaveChanges();
                        transaction.Commit();

                        vm.ContactId = (long)orgContact.OrganizationContactID;
                    }
                    catch (DbEntityValidationException ex)
                    {
                        transaction.Rollback();
                        ExceptionDispatchInfo.Capture(ex).Throw();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        ExceptionDispatchInfo.Capture(ex).Throw();
                    }
                }

            return(vm.ContactId);
        }