public static object Post(UnionVm data, bool validateOnly) { if (data.UnionId > 0) { if (Utils.CheckPermission(3, 90, Utils.LoggedUser.Roles) < 1) { return(Utils.ServiceResponse(PageCode, new ModelResponse(101), null)); } } else { if (Utils.CheckPermission(2, 90, Utils.LoggedUser.Roles) < 1) { return(Utils.ServiceResponse(PageCode, new ModelResponse(101), null)); } } var mr = Mgr.Post(Utils.LoggedUser, ref data, Utils.UploadFolder, validateOnly); return(Utils.ServiceResponse(PageCode, mr)); }
public long Post(ref UnionVm vm, string userId) { using (var db = new LMISEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var id = vm.UnionId; if (id > 0) //Update { var tr = db.Unions .Where(r => r.IsDeleted == null && r.ID == id) .ToList().Single(); tr.Telephone = vm.Telephone; tr.Fax = vm.Fax; tr.Website = vm.Website; tr.Email = vm.Email; tr.Logo = vm.Logo; tr.UpdateUserID = userId; tr.UpdateDate = DateTime.UtcNow; //Delete detail records var dr1 = db.UnionDetails .Where(r => r.UnionID == id) .ToList(); db.UnionDetails.RemoveRange(dr1); var dr2 = db.UnionProfessions .Where(r => r.UnionID == id) .ToList(); db.UnionProfessions.RemoveRange(dr2); var dr3 = db.UnionCommitteeDetails .Where(r => r.UnionID == id) .ToList(); db.UnionCommitteeDetails.RemoveRange(dr3); var dr4 = db.UnionCommittees .Where(r => r.UnionID == id) .ToList(); db.UnionCommittees.RemoveRange(dr4); } else //Insert { var tr = new Union { Telephone = vm.Telephone, Fax = vm.Fax, Website = vm.Website, Email = vm.Email, Logo = vm.Logo, PostUserID = userId, PostDate = DateTime.UtcNow }; db.Unions.Add(tr); db.SaveChanges(); vm.UnionId = (long)tr.ID; } //Insert detail records var ds1 = Utils.MultilingualDataSet( new Dictionary <string, GlobalString> { { "c1", vm.Name }, { "c2", vm.Address } }); foreach (var r in ds1) { db.UnionDetails.Add(new UnionDetail() { UnionID = vm.UnionId, LangID = r["c1"].L, Name = r["c1"].T, Address = r["c2"].T }); } var sid = 0; foreach (var p in vm.Professions) { sid++; var ds2 = Utils.MultilingualDataSet( new Dictionary <string, GlobalString> { { "c1", p } }); foreach (var r in ds2) { db.UnionProfessions.Add(new UnionProfession() { UnionID = vm.UnionId, ProfID = sid, LangID = r["c1"].L, Name = r["c1"].T }); } } sid = 0; foreach (var c in vm.Committees) { sid++; var dr = db.UnionCommittees.Add(new UnionCommittee() { UnionID = vm.UnionId, ComID = sid, Gov = c.Gov.id }); var ds3 = Utils.MultilingualDataSet( new Dictionary <string, GlobalString> { { "c1", c.Name } }); foreach (var r in ds3) { dr.UnionCommitteeDetails.Add(new UnionCommitteeDetail() { UnionID = dr.UnionID, ComID = dr.ComID, LangID = r["c1"].L, Name = r["c1"].T }); } } db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); ExceptionDispatchInfo.Capture(ex).Throw(); } } return(vm.UnionId); }
public ModelResponse Post(UserInfo user, ref UnionVm vm, string fileFolder, bool validateOnly) { try { //Authorization if (user == null) { return(new ModelResponse(101)); } if (string.IsNullOrWhiteSpace(user.UserId)) { return(new ModelResponse(101)); } if (!user.IsApproved || user.IsIndividual || user.OrgContactId == null) { return(new ModelResponse(101)); } var isAdmin = DalFactory.Singleton.DataService.IsAdmin(user.UserId); if (!isAdmin) { return(new ModelResponse(101)); } //Validations if (vm.Professions == null) { vm.Professions = new List <GlobalString>(); } if (vm.Committees == null) { vm.Committees = new List <UnionVm.UnionCommittee>(); } if (vm.Professions.Count < 1 || vm.Committees.Count < 1 || vm.Name.IsNullOrWhiteSpace() || vm.Address.IsNullOrWhiteSpace() || vm.Professions.Any(p => p.IsNullOrWhiteSpace()) || vm.Committees.Any(c => c.Gov.id.IsNotASubCode() || c.Name.IsNullOrWhiteSpace())) { return(new ModelResponse(1)); } if (!validateOnly) { //Verify File Path if (fileFolder.HasNoValue()) { return(new ModelResponse(102)); } if (!vm.Logo.HasNoValue() && !File.Exists(Path.Combine(fileFolder, vm.Logo))) { return(new ModelResponse(102)); } //Save to DB Repo.Post(ref vm, user.UserId); } } catch (Exception ex) { return(new ModelResponse(ex)); } return(new ModelResponse(0, vm.UnionId)); }