public Guid CreateVendor(VendorEntities vendor) { Guid UserID = Guid.Empty; using (FacilitiesEntities db = new FacilitiesEntities()) { UOWVendor vendorObj = new UOWRepository.UOWVendor(); try { vendor.UserEntity.Email = vendor.Email; var newVendor = new Vendor(); if (vendor.Email != null && (!vendorObj.IsVendorExists(vendor.Email))) { if (vendor.UserEntity.FirstName != null && vendor.UserEntity.FirstName.Trim().Length > 0) { if (vendor.UserEntity.LastName == null) { vendor.UserEntity.LastName = ""; } var U = VM_User.AddDataInUser <User>(vendor.UserEntity); if (U != null) { newVendor.VendorId = Guid.NewGuid(); newVendor.VendorName = (vendor.VendorName != null && vendor.VendorName.Trim().Length > 0) ? vendor.VendorName : vendor.UserEntity.FirstName + " " + vendor.UserEntity.LastName; newVendor.Address01 = vendor.Address01 != null ? vendor.Address01 : " "; newVendor.Address02 = vendor.Address02 != null ? vendor.Address02 : " "; newVendor.City = vendor.City != null ? vendor.City : " "; newVendor.State = vendor.State != null ? vendor.State : " "; newVendor.Zip01 = vendor.Zip01 != null ? vendor.Zip01 : " "; newVendor.Zip02 = vendor.Zip02 != null ? vendor.Zip02 : " "; newVendor.Email = vendor.Email != null ? vendor.Email : " "; newVendor.TaxId = vendor.TaxId != null ? vendor.TaxId : " "; newVendor.TaxIdisEIN = vendor.TaxIdisEIN != null ? vendor.TaxIdisEIN : " "; newVendor.Telephone = vendor.Telephone != null ? vendor.Telephone : " "; newVendor.ActiveFlag = vendor.Status; newVendor.AddressVerifiedFlag = "Y"; //client vendors var ClientID = db.ClientUsers.Where(a => a.User == vendor.LoggedInUserID).Select(a => a.Client).FirstOrDefault(); var clientVendor = new ClientVendor(); clientVendor.ClientVendorId = Guid.NewGuid(); clientVendor.Client = ClientID; clientVendor.Vendor = newVendor.VendorId; clientVendor.ActiveFlag = vendor.Status; clientVendor.TaxDocument = vendor.TaxDocument; clientVendor.FileName = vendor.TaxDocumentName; var cgFileTyle = db.CGSFileTypes.Where(p => p.Decription.ToString().Trim().ToLower() == vendor.TaxDocumentType.Trim().ToLower()).FirstOrDefault(); if (cgFileTyle != null) { clientVendor.FileType = cgFileTyle.CGSFileTypesId; } //Get Vendor Admin Id var GetVendorAdminId = db.Roles.Where(a => a.RoleName == "Vendor Admin" && a.ActiveFlag == "Y").FirstOrDefault(); if (GetVendorAdminId != null) { // Add data in VendorUser Table VendorUser CU = new VendorUser(); CU.VendorUserId = Guid.NewGuid(); CU.Vendor = newVendor.VendorId; CU.Role = GetVendorAdminId.RoleId; CU.User = U.UserId; CU.ActiveFlag = vendor.Status; db.VendorUsers.Add(CU); } foreach (Guid value in vendor.ClientProblemClassId) { ClientVendorProblemClass CP = new ClientVendorProblemClass(); CP.ClientVendorProblemClassesId = Guid.NewGuid(); CP.ClientVendor = clientVendor.ClientVendorId; CP.ProblemClass = value; db.ClientVendorProblemClasses.Add(CP); } db.Vendors.Add(newVendor); db.ClientVendors.Add(clientVendor); if (db.SaveChanges() > 0) { UserID = U.UserId; } } } else { //we must need the vendor name if (vendor.VendorName != null && vendor.VendorName.Trim().Length > 0) { #region No information entered by user for Vendor newVendor.VendorId = Guid.NewGuid(); newVendor.VendorName = vendor.VendorName != null ? vendor.VendorName : " "; newVendor.Address01 = vendor.Address01 != null ? vendor.Address01 : " "; newVendor.Address02 = vendor.Address02 != null ? vendor.Address02 : " "; newVendor.City = vendor.City != null ? vendor.City : " "; newVendor.State = vendor.State != null ? vendor.State : " "; newVendor.Zip01 = vendor.Zip01 != null ? vendor.Zip01 : " "; newVendor.Zip02 = vendor.Zip02 != null ? vendor.Zip02 : " "; newVendor.Email = vendor.Email != null ? vendor.Email : " "; newVendor.TaxId = vendor.TaxId != null ? vendor.TaxId : " "; newVendor.TaxIdisEIN = vendor.TaxIdisEIN != null ? vendor.TaxIdisEIN : " "; newVendor.Telephone = vendor.Telephone != null ? vendor.Telephone : " "; newVendor.ActiveFlag = vendor.Status; newVendor.AddressVerifiedFlag = "Y"; //client vendors var ClientID = db.ClientUsers.Where(a => a.User == vendor.LoggedInUserID).Select(a => a.Client).FirstOrDefault(); var clientVendor = new ClientVendor(); clientVendor.ClientVendorId = Guid.NewGuid(); clientVendor.Client = ClientID; clientVendor.Vendor = newVendor.VendorId; clientVendor.ActiveFlag = vendor.Status; clientVendor.TaxDocument = vendor.TaxDocument; clientVendor.FileName = vendor.TaxDocumentName; var cgFileTyle = db.CGSFileTypes.Where(p => p.Decription.ToString().Trim().ToLower() == vendor.TaxDocumentType.Trim().ToLower()).FirstOrDefault(); if (cgFileTyle != null) { clientVendor.FileType = cgFileTyle.CGSFileTypesId; } foreach (Guid value in vendor.ClientProblemClassId) { ClientVendorProblemClass CP = new ClientVendorProblemClass(); CP.ClientVendorProblemClassesId = Guid.NewGuid(); CP.ClientVendor = clientVendor.ClientVendorId; CP.ProblemClass = value; db.ClientVendorProblemClasses.Add(CP); } db.Vendors.Add(newVendor); db.ClientVendors.Add(clientVendor); if (db.SaveChanges() > 0) { UserID = newVendor.VendorId; } #endregion } } } } catch (Exception ex) { throw (ex); } } return(UserID); }
public int UpdateVendor(VendorEntities vendor) { int result = 0; using (FacilitiesEntities db = new FacilitiesEntities()) { try { var GetVendorDetails = db.Vendors.Where(p => p.Email.ToLower().Trim() == vendor.Email.Trim().ToLower()).FirstOrDefault(); if (GetVendorDetails != null) { GetVendorDetails.VendorName = vendor.VendorName; GetVendorDetails.Address01 = vendor.Address01; GetVendorDetails.Address02 = vendor.Address02; GetVendorDetails.City = vendor.City; GetVendorDetails.State = vendor.State; GetVendorDetails.Zip01 = vendor.Zip01; GetVendorDetails.Zip02 = vendor.Zip02; GetVendorDetails.Email = vendor.Email; GetVendorDetails.TaxId = vendor.TaxId; GetVendorDetails.TaxIdisEIN = vendor.TaxIdisEIN; GetVendorDetails.Telephone = vendor.Telephone; GetVendorDetails.ActiveFlag = vendor.Status; //get client vendor info var getclientvendors = db.ClientVendors.Where(p => p.Vendor == GetVendorDetails.VendorId && p.Client.ToString().Trim().ToLower() == vendor.ClientID.ToString().Trim().ToLower()).FirstOrDefault(); if (getclientvendors != null) { getclientvendors.ActiveFlag = vendor.Status; getclientvendors.TaxDocument = vendor.TaxDocument; getclientvendors.FileName = vendor.TaxDocumentName; var cgFileTyle = db.CGSFileTypes.Where(p => p.Decription.ToString().Trim().ToLower() == vendor.TaxDocumentType.Trim().ToLower()).FirstOrDefault(); if (cgFileTyle != null) { getclientvendors.FileType = cgFileTyle.CGSFileTypesId; } var VendorUser = db.VendorUsers.Where(x => x.Vendor == GetVendorDetails.VendorId).FirstOrDefault(); if (VendorUser != null) { VendorUser.ActiveFlag = vendor.Status; } // Delete all records in ClientVendorProblemClasses table var allRec = db.ClientVendorProblemClasses.Where(a => a.ClientVendor == getclientvendors.ClientVendorId); db.ClientVendorProblemClasses.RemoveRange(allRec); db.SaveChanges(); // Insert new records in ClientVendorProblemClasses table foreach (Guid value in vendor.ClientProblemClassId) { ClientVendorProblemClass CP = new ClientVendorProblemClass(); CP.ClientVendorProblemClassesId = Guid.NewGuid(); CP.ClientVendor = getclientvendors.ClientVendorId; CP.ProblemClass = value; db.ClientVendorProblemClasses.Add(CP); db.SaveChanges(); } } } } catch (Exception ex) { } } return(result); }