示例#1
0
        public FrayteWarehouse SaveWarehouse(FrayteWarehouse frayteWarehouse)
        {
            Warehouse warehouse;

            if (frayteWarehouse.WarehouseId > 0)
            {
                warehouse = dbContext.Warehouses.Where(p => p.WarehouseId == frayteWarehouse.WarehouseId).FirstOrDefault();
                if (warehouse != null)
                {
                    warehouse.Address           = frayteWarehouse.Address;
                    warehouse.Address2          = frayteWarehouse.Address2;
                    warehouse.Address3          = frayteWarehouse.Address3;
                    warehouse.City              = frayteWarehouse.City;
                    warehouse.State             = frayteWarehouse.State;
                    warehouse.Zip               = frayteWarehouse.Zip;
                    warehouse.CountryId         = frayteWarehouse.Country.CountryId;
                    warehouse.LocationName      = frayteWarehouse.LocationName;
                    warehouse.LocationLatitude  = frayteWarehouse.MapDetail.latitude;
                    warehouse.LocationLongitude = frayteWarehouse.MapDetail.longitude;
                    warehouse.LocationZoom      = frayteWarehouse.Zoom;
                    warehouse.WorkingWeekDayId  = frayteWarehouse.WorkingWeekDay.WorkingWeekDayId;
                    //warehouse.LocationMapImage = frayteWarehouse.LocationMapImage;
                    warehouse.MarkerLatitude   = frayteWarehouse.MarkerDetail.latitude;
                    warehouse.MarkerLongitude  = frayteWarehouse.MarkerDetail.longitude;
                    warehouse.ManagerId        = frayteWarehouse.Manager.UserId;
                    warehouse.Email            = frayteWarehouse.Email;
                    warehouse.TelephoneNo      = frayteWarehouse.TelephoneNo;
                    warehouse.MobileNo         = frayteWarehouse.MobileNo;
                    warehouse.Fax              = frayteWarehouse.Fax;
                    warehouse.WorkingStartTime = UtilityRepository.GetTimeZoneUTCTime(frayteWarehouse.WorkingStartTime, frayteWarehouse.Timezone.Name).Value;
                    warehouse.WorkingEndTime   = UtilityRepository.GetTimeZoneUTCTime(frayteWarehouse.WorkingEndTime, frayteWarehouse.Timezone.Name).Value;
                    warehouse.TimeZoneId       = frayteWarehouse.Timezone.TimezoneId;
                }
            }
            else
            {
                warehouse           = new Warehouse();
                warehouse.Address   = frayteWarehouse.Address;
                warehouse.Address2  = frayteWarehouse.Address2;
                warehouse.Address3  = frayteWarehouse.Address3;
                warehouse.City      = frayteWarehouse.City;
                warehouse.State     = frayteWarehouse.State;
                warehouse.Zip       = frayteWarehouse.Zip;
                warehouse.CountryId = frayteWarehouse.Country.CountryId;
                if (frayteWarehouse.Manager != null)
                {
                    warehouse.ManagerId = frayteWarehouse.Manager.UserId;
                }
                warehouse.LocationName      = frayteWarehouse.LocationName;
                warehouse.LocationLatitude  = frayteWarehouse.MapDetail.latitude;
                warehouse.LocationLongitude = frayteWarehouse.MapDetail.longitude;
                warehouse.LocationZoom      = frayteWarehouse.Zoom;
                warehouse.WorkingWeekDayId  = frayteWarehouse.WorkingWeekDay.WorkingWeekDayId;
                //warehouse.LocationMapImage = frayteWarehouse.LocationMapImage;
                warehouse.MarkerLatitude   = frayteWarehouse.MarkerDetail.latitude;
                warehouse.MarkerLongitude  = frayteWarehouse.MarkerDetail.longitude;
                warehouse.Email            = frayteWarehouse.Email;
                warehouse.TelephoneNo      = frayteWarehouse.TelephoneNo;
                warehouse.MobileNo         = frayteWarehouse.MobileNo;
                warehouse.Fax              = frayteWarehouse.Fax;
                warehouse.WorkingStartTime = UtilityRepository.GetTimeZoneUTCTime(frayteWarehouse.WorkingStartTime, frayteWarehouse.Timezone.Name).Value;
                warehouse.WorkingEndTime   = UtilityRepository.GetTimeZoneUTCTime(frayteWarehouse.WorkingEndTime, frayteWarehouse.Timezone.Name).Value;
                warehouse.TimeZoneId       = frayteWarehouse.Timezone.TimezoneId;

                dbContext.Warehouses.Add(warehouse);
            }

            dbContext.SaveChanges();
            frayteWarehouse.WarehouseId = warehouse.WarehouseId;

            SaveWarehouseImage(warehouse, frayteWarehouse.LocationMapImage);

            return(frayteWarehouse);
        }
示例#2
0
        public FrayteResult SaveAgent(FrayteAgent frayteUser)
        {
            FrayteResult result = new FrayteResult();

            FrayteUserRepository userRepository = new FrayteUserRepository();

            //Step 1: Save Agent Detail
            userRepository.SaveUserDetail(frayteUser);

            //Step 2: Save Agent's additional detail
            SaveAgentAdditional(frayteUser);

            // Step 3: Save UserShipmentType
            SaveAgentShipmentType(frayteUser);

            //Step 4: Save Agent role
            userRepository.SaveUserRole(frayteUser.UserId, (int)FrayteUserRole.Agent);

            //Step 5: Save Agent Address information
            frayteUser.UserAddress.AddressTypeId = (int)FrayteAddressType.MainAddress;
            frayteUser.UserAddress.UserId        = frayteUser.UserId;
            userRepository.SaveUserAddress(frayteUser.UserAddress);

            //Step 6: Save Agent other address information
            if (frayteUser.OtherAddresses != null && frayteUser.OtherAddresses.Count > 0)
            {
                foreach (FrayteAddress address in frayteUser.OtherAddresses)
                {
                    address.AddressTypeId = (int)FrayteAddressType.OtherAddress;
                    address.UserId        = frayteUser.UserId;
                    userRepository.SaveUserAddress(address);
                }
            }

            //Step 7: Save Agent's Associated Users information
            if (frayteUser.AssociatedUsers != null && frayteUser.AssociatedUsers.Count > 0)
            {
                foreach (FrayteAgentAssociatedUser agentUser in frayteUser.AssociatedUsers)
                {
                    AgentAssociatedUser saveUser = new AgentAssociatedUser();

                    if (agentUser.AgentAssociatedUserId > 0)
                    {
                        // Update AgentAssociated user Info
                        var associatedUser = dbContext.AgentAssociatedUsers.Where(p => p.AgentAssociatedUserId == agentUser.AgentAssociatedUserId).FirstOrDefault();
                        if (associatedUser != null)
                        {
                            associatedUser.Name        = agentUser.Name;
                            associatedUser.UserType    = agentUser.UserType;
                            associatedUser.Email       = agentUser.Email;
                            associatedUser.TelephoneNo = agentUser.TelephoneNo;

                            associatedUser.WorkingStartTime = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingStartTime, frayteUser.Timezone.TimezoneId).Value;
                            associatedUser.WorkingEndTime   = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingEndTime, frayteUser.Timezone.TimezoneId).Value;
                            associatedUser.WorkingWeekDays  = agentUser.WorkingWeekDays;
                            dbContext.SaveChanges();
                        }
                        else
                        {
                            saveUser.AgentId          = frayteUser.UserId;
                            saveUser.Name             = agentUser.Name;
                            saveUser.UserType         = agentUser.UserType;
                            saveUser.Email            = agentUser.Email;
                            saveUser.TelephoneNo      = agentUser.TelephoneNo;
                            saveUser.WorkingStartTime = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingStartTime, frayteUser.Timezone.TimezoneId).Value;
                            saveUser.WorkingEndTime   = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingEndTime, frayteUser.Timezone.TimezoneId).Value;
                            saveUser.WorkingWeekDays  = agentUser.WorkingWeekDays;
                            dbContext.AgentAssociatedUsers.Add(saveUser);
                            dbContext.SaveChanges();
                        }
                    }
                    else
                    {
                        // Insert Agent Associated User Info
                        saveUser.AgentId          = frayteUser.UserId;
                        saveUser.Name             = agentUser.Name;
                        saveUser.UserType         = agentUser.UserType;
                        saveUser.Email            = agentUser.Email;
                        saveUser.TelephoneNo      = agentUser.TelephoneNo;
                        saveUser.WorkingStartTime = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingStartTime, frayteUser.Timezone.TimezoneId).Value;
                        saveUser.WorkingEndTime   = UtilityRepository.GetTimeZoneUTCTime(agentUser.WorkingEndTime, frayteUser.Timezone.TimezoneId).Value;
                        saveUser.WorkingWeekDays  = agentUser.WorkingWeekDays;
                        dbContext.AgentAssociatedUsers.Add(saveUser);
                        dbContext.SaveChanges();
                    }
                }
            }

            result.Status = true;

            return(result);
        }