Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }