示例#1
0
        public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.PastSales> pastSales)
        {
            string message = "";

            foreach (var pastSale in pastSales ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.PastSales>())
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Warehouse: " + (pastSale?.Warehouse?.Code ?? ""));
                if ((pastSale?.Item == null || pastSale?.Warehouse == null))
                {
                    message = message + (pastSale?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = pastSale?.Item?.SKU;
                DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault();
                var _var1 = pastSale?.Warehouse?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Warehouse existingWarehouse = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>((a) => a.Code == _var1)?.FirstOrDefault();
                if ((existingItem == null || existingWarehouse == null))
                {
                    message = message + (pastSale?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.PastSales newSalesForecast = new DSS1_RetailerDriverStockOptimisation.BO.PastSales();
                newSalesForecast.Warehouse    = existingWarehouse;
                newSalesForecast.Item         = existingItem;
                newSalesForecast.ForecastDate = (pastSale?.ForecastDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value);
                newSalesForecast.Units        = (pastSale?.Units ?? 0);
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.PastSales>(newSalesForecast);
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the entries with Ids " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1"));
        }
示例#2
0
        public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity> minQuantities)
        {
            string message = "";

            foreach (var minQ in minQuantities ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity>())
            {
                if ((minQ?.Item == null || minQ?.Supplier == null))
                {
                    message = message + (minQ?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = minQ?.Item?.SKU;
                DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault();
                var _var1 = minQ?.Supplier?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Supplier existingSupplier = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Supplier>((w) => w.Code == _var1)?.FirstOrDefault();
                if ((existingItem == null || existingSupplier == null))
                {
                    message = message + (minQ?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity newMinQuantity = new DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity();
                newMinQuantity.Supplier = existingSupplier;
                newMinQuantity.Country  = (minQ?.Country ?? "");
                newMinQuantity.Item     = existingItem;
                newMinQuantity.Quantity = (minQ?.Quantity ?? 0);
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.MinimumQuantity>(newMinQuantity);
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Min Quantity: " + (minQ?.Quantity ?? 0) + " for item: " + (existingItem?.SKU ?? ""));
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the stocks with Ids " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1"));
        }
        public IQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser> Get_UsersList_List1DataSet_DatasourceQueryableImplementation(DatasourceRequest __request = null, bool shouldEvict = true)
        {
            __request = __request ?? new DatasourceRequest(0, int.MaxValue);
            var __items = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>().AsQueryable();

            return(__items.Where(@this => true));
        }
示例#4
0
        public JsonResult OrderProposalList_UpdateCell()
        {
            var postedData = _ParsePostedData();

            try
            {
                var repo     = new DSS1_RetailerDriverStockOptimisation.DAL.Repository();
                var listItem = repo.GetById <DSS1_RetailerDriverStockOptimisation.BO.OrderForecastDetails>(int.Parse(postedData.GetValue("key").ToString()));
                if (listItem != null)
                {
                    switch (postedData.GetValue("property").ToString())
                    {
                    case "SupplierCanDeliver":
                        listItem.SupplierCanDeliver = bool.Parse(postedData.GetValue("value").ToString());
                        break;

                    case "SupplierMaxQuantity":
                        listItem.SupplierMaxQuantity = decimal.Parse(postedData.GetValue("value").ToString());
                        break;
                    }
                    repo.Save(listItem);
                }
            }
            catch (Exception e)
            {
                _logger.Error(e);
                zAppDev.DotNet.Framework.Utilities.Common.SetLastError(e);
            }
            return(null);
        }
示例#5
0
        public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule> deliverySchedules)
        {
            string message = "";

            foreach (var delSchedule in deliverySchedules ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule>())
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Warehouse: " + (delSchedule?.Warehouse?.Code ?? ""));
                if ((delSchedule?.Supplier == null || delSchedule?.Warehouse == null))
                {
                    message = message + (delSchedule?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = delSchedule?.Supplier?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Supplier existingSupplier = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Supplier>((w) => w.Code == _var0)?.FirstOrDefault();
                var _var1 = delSchedule?.Warehouse?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Warehouse existingWarehouse = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>((a) => a.Code == _var1)?.FirstOrDefault();
                if ((existingSupplier == null || existingWarehouse == null))
                {
                    message = message + (delSchedule?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule newDelSchedule = new DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule();
                newDelSchedule.Supplier  = existingSupplier;
                newDelSchedule.Warehouse = existingWarehouse;
                newDelSchedule.LeadTime  = (delSchedule?.LeadTime ?? 0);
                newDelSchedule.Weekday   = (delSchedule?.Weekday ?? 0);
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.DeliverySchedule>(newDelSchedule);
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import entries with Ids: " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1"));
        }
示例#6
0
        /*<ControllerActionImplementation:ResetPassword:1/>*/
        public ActionResult ExecuteResetPassword()
        {
            ActionResult _result = null;

            zAppDev.DotNet.Framework.Identity.Model.ApplicationUser user = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((u) => u.UserName == @model.txtUsername)?.FirstOrDefault();
            if ((user == null))
            {
                ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NotFound").ToString(), MessageType.Error);
                return(null);
            }
            if ((((user?.Email ?? "") == null || (user?.Email ?? "").Trim() == "") || ((((user?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((user?.Email ?? "")))) == false)))
            {
                ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NoMail").ToString(), MessageType.Error);
                return(null);
            }
            string newPassword = Guid.NewGuid().ToString().ToLower().Replace("-", "").Substring(0, 10);
            string result      = zAppDev.DotNet.Framework.Identity.IdentityHelper.ResetPassword(user, newPassword);

            if (((((result == null || result == "")) == false)))
            {
                ClientCommand(ClientCommands.SHOW_MESSAGE, result, MessageType.Error);
                return(null);
            }
            zAppDev.DotNet.Framework.Utilities.EMailMessage mail       = new zAppDev.DotNet.Framework.Utilities.EMailMessage();
            System.Collections.Generic.List <string>        recipients = new System.Collections.Generic.List <string>();
            recipients.Add((user?.Email ?? ""));
            mail.To      = recipients.ToList();
            mail.Subject = "Your new password for " + "DSS1_RetailerDriverStockOptimisation";
            mail.Body    = "-> Password: " + newPassword;
            zAppDev.DotNet.Framework.Utilities.Email.SendMail(mail);
            _result = CloseForm();
            return(_result);
        }
示例#7
0
        public static DSS1_RetailerDriverStockOptimisation.BO.Response PublishImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity> capacities)
        {
            string message = "";

            foreach (var supCapacity in capacities ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity>())
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Item: " + (supCapacity?.Item?.SKU ?? ""));
                if ((supCapacity?.Item == null))
                {
                    message = message + (supCapacity?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = supCapacity?.Item?.SKU;
                DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault();
                if ((existingItem == null))
                {
                    message = message + (supCapacity?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity newSupCapacity = new DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity();
                newSupCapacity.Stock             = (supCapacity?.Stock ?? 0);
                newSupCapacity.DailyProduction   = (supCapacity?.DailyProduction ?? 0);
                newSupCapacity.DateOfStockUpdate = (supCapacity?.DateOfStockUpdate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value);
                newSupCapacity.Item = existingItem;
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity>(newSupCapacity);
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the entries with Ids " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All items imported successfully.", "", "1"));
        }
        public IQueryable <DSS1_RetailerDriverStockOptimisation.BO.Agreement> Get_AgreementList_AgreementDataSet_DatasourceQueryableImplementation(DatasourceRequest __request = null, bool shouldEvict = true)
        {
            __request = __request ?? new DatasourceRequest(0, int.MaxValue);
            var __items = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Agreement>().AsQueryable();

            return(__items.Where(@this => true));
        }
示例#9
0
        public IQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationPermission> Get_ManageOperation_Button2DataSet_DatasourceQueryableImplementation(DatasourceRequest __request = null, bool shouldEvict = true)
        {
            __request = __request ?? new DatasourceRequest(0, int.MaxValue);
            var __items = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationPermission>().AsQueryable();

            return(__items);
        }
示例#10
0
        /*<ControllerActionImplementation:Create:1/>*/
        public ActionResult ExecuteCreate()
        {
            ActionResult _result = null;

            _result = this.ExecuteAuthorizeAccess();
            if (@model.password?.Trim() != @model.repeatPassword?.Trim())
            {
                throw new Exception("Passwords do not match!");
            }
            if (@model.username?.Trim() == "")
            {
                throw new Exception("No username provided!");
            }
            zAppDev.DotNet.Framework.Identity.Model.ApplicationRole adminRole = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((r) => r.Name == "Administrator")?.FirstOrDefault();
            if ((adminRole == null))
            {
                throw new Exception("No Administrator role found in Database!");
            }
            zAppDev.DotNet.Framework.Identity.Model.ApplicationUser adminUser = new zAppDev.DotNet.Framework.Identity.Model.ApplicationUser();
            adminUser.UserName = (@model.username?.Trim() ?? "");
            adminUser?.AddRoles(adminRole);
            string possibleError = zAppDev.DotNet.Framework.Identity.IdentityHelper.CreateUser(adminUser, (@model.password?.Trim() ?? ""));

            if ((((possibleError == null || possibleError == "")) == false))
            {
                ClientCommand(ClientCommands.SHOW_MESSAGE, possibleError, MessageType.Error);
                return(null);
            }
            _result = GetRedirectInfo("SignInPage", "Load", new  RouteValueDictionary(new {  }));
            return(_result);
        }
示例#11
0
        public IQueryable <DSS1_RetailerDriverStockOptimisation.BO.OrderForecastDetails> Get_SupplierOrderForecast_OrderProposalDataSet_DatasourceQueryableImplementation(DatasourceRequest __request = null, bool shouldEvict = true)
        {
            __request = __request ?? new DatasourceRequest(0, int.MaxValue);
            var __items = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.OrderForecastDetails>().AsQueryable();
            var _var0   = new DateTime(2017, 02, 20, 0, 0, 0, DateTimeKind.Utc);

            return(__items.Where(@this => @this.RecommendedOrderDate.GetValueOrDefault(System.Data.SqlTypes.SqlDateTime.MinValue.Value).Date >= _var0));
        }
        public IQueryable <DSS1_RetailerDriverStockOptimisation.BO.AppNotification> Get_MasterPage_AppNotifications_DatasourceQueryableImplementation(DatasourceRequest __request = null, bool shouldEvict = true)
        {
            __request = __request ?? new DatasourceRequest(0, int.MaxValue);
            var __items = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.AppNotification>().AsQueryable();
            var _var0   = zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentUserName();

            return(__items.Where(@this => ((@this.IsRead) == false) && @this.Recipient.UserName == _var0));
        }
        public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.PastOrder> pOrders)
        {
            string message = "";

            foreach (var pOrder in pOrders ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.PastOrder>())
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Caller : " + (pOrder?.Caller ?? ""));
                if ((pOrder?.Item == null || pOrder?.Warehouse == null))
                {
                    message = message + (pOrder?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = pOrder?.Item?.SKU;
                DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault();
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Item: " + (pOrder?.Item?.SKU ?? ""));
                var _var1 = pOrder?.Warehouse?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Warehouse existingWarehouse = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>((w) => w.Code == _var1)?.FirstOrDefault();
                if ((existingItem == null || existingWarehouse == null))
                {
                    message = message + (pOrder?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.PastOrder newPastOrder = new DSS1_RetailerDriverStockOptimisation.BO.PastOrder();
                newPastOrder.Warehouse     = existingWarehouse;
                newPastOrder.Item          = existingItem;
                newPastOrder.OrderNumber   = (pOrder?.OrderNumber ?? 0);
                newPastOrder.WrittenDate   = (pOrder?.WrittenDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value);
                newPastOrder.NotBeforeDate = (pOrder?.NotBeforeDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value);
                if ((pOrder?.Caller == "Vitacress" || pOrder?.Caller == "Schreiber"))
                {
                    int?supPack = (existingItem?.SupplierPackSize ?? 0);
                    newPastOrder.QuantityOrdered  = (int)((supPack.GetValueOrDefault(0) * (pOrder?.QuantityOrdered ?? 0)));
                    newPastOrder.QuantityReceived = (int)((supPack.GetValueOrDefault(0) * (pOrder?.QuantityReceived ?? 0)));
                }
                else
                {
                    newPastOrder.QuantityOrdered  = (pOrder?.QuantityOrdered ?? 0);
                    newPastOrder.QuantityReceived = (pOrder?.QuantityReceived ?? 0);
                }
                newPastOrder.ReceiveDate = (pOrder?.ReceiveDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value);
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.PastOrder>(newPastOrder);
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the entries with Ids " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1"));
        }
示例#14
0
        /*<ControllerActionImplementation:Save:1/>*/
        public ActionResult ExecuteSave()
        {
            ActionResult _result = null;

            zAppDev.DotNet.Framework.Identity.Model.ApplicationRole role = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((r) => r.Name == "Administrator")?.FirstOrDefault();
            if ((role == null))
            {
                throw new Exception((BaseViewPage <string> .GetResourceValue("FirstAdminSetup", "RES_CUSTOM_NoAdminRoleFound").ToString()));
            }
            if (((@model.ApplicationUser?.IsInRole("Administrator") ?? false)))
            {
                throw new Exception((BaseViewPage <string> .GetResourceValue("FirstAdminSetup", "RES_CUSTOM_AlreadyAdmin").ToString()));
            }
            @model.ApplicationUser?.AddRoles(role);
            new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>(@model.ApplicationUser);
            _result = GetRedirectInfo("HomePage", "Render", new  RouteValueDictionary(new {  }));
            return(_result);
        }
        /*<ControllerActionImplementation:SignIn:1/>*/
        public ActionResult ExecuteSignIn()
        {
            ActionResult _result = null;
            bool         success = zAppDev.DotNet.Framework.Identity.IdentityHelper.SignIn(@model.UserNameTextBox, @model.PasswordTextBox, @model.RememberMeCB);

            if (((success) == false))
            {
                ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("SignInPage", "SignInFailed").ToString(), MessageType.Error);
                return(null);
            }
            string returnUrl = zAppDev.DotNet.Framework.Utilities.Web.GetFormArgument("returnUrl");

            zAppDev.DotNet.Framework.Identity.Model.ApplicationUser user = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((a) => a.UserName == @model.UserNameTextBox)?.FirstOrDefault();
            if (((((returnUrl == null || returnUrl.Trim() == "")) == false)))
            {
                ClientCommand(ClientCommands.REDIRECT, (!string.IsNullOrEmpty(ConfigurationHandler.GetAppSetting("ServerExternalPath")) ? ConfigurationHandler.GetAppSetting("ServerExternalPath"): zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + returnUrl);
            }
            else
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "SignInPage", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, user == null);
                if (((user?.HasPermission("IsStockManager") ?? false)))
                {
                    zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "SignInPage", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "IsStockManager");
                    _result = GetRedirectInfo("StockManagerView", "Render", new  RouteValueDictionary(new {  }));
                }
                else if ((user?.IsInRole("Supplier") ?? false))
                {
                    zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "SignInPage", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Supplier");
                    _result = GetRedirectInfo("SupplierView", "Render", new  RouteValueDictionary(new {  }));
                }
                else
                {
                    zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "SignInPage", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Normal");
                    _result = GetRedirectInfo("StockManagerView", "Render", new  RouteValueDictionary(new {  }));
                }
            }
            return(_result);
        }
        public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem> inventoryItems)
        {
            string message = "";

            foreach (var invItem in inventoryItems ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem>())
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Warehouse: " + (invItem?.Warehouse?.Code ?? ""));
                if ((invItem?.Item == null || invItem?.Warehouse == null))
                {
                    message = message + (invItem?.Id ?? 0) + " ,";
                    continue;
                }
                var _var0 = invItem?.Item?.SKU;
                DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Item>((s) => s.SKU == _var0)?.FirstOrDefault();
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Item: " + (invItem?.Item?.SKU ?? ""));
                var _var1 = invItem?.Warehouse?.Code;
                DSS1_RetailerDriverStockOptimisation.BO.Warehouse existingWarehouse = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Warehouse>((w) => w.Code == _var1)?.FirstOrDefault();
                if ((existingItem == null || existingWarehouse == null))
                {
                    message = message + (invItem?.Id ?? 0) + " ,";
                    continue;
                }
                DSS1_RetailerDriverStockOptimisation.BO.InventoryItem newInvItem = new DSS1_RetailerDriverStockOptimisation.BO.InventoryItem();
                newInvItem.Warehouse = existingWarehouse;
                newInvItem.Item      = existingItem;
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Status: " + (invItem?.Status ?? ""));
                newInvItem.Status      = (invItem?.Status ?? "");
                newInvItem.SafetyStock = (invItem?.SafetyStock ?? 0);
                new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.InventoryItem>(newInvItem);
            }
            if (((((message == null || message == "")) == false)))
            {
                zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Error message: " + message);
                return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Failed to import the entries with Ids " + message, "", "-1"));
            }
            return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All entries imported successfully.", "", "1"));
        }
 public static DSS1_RetailerDriverStockOptimisation.BO.Response ImportImplementation(System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.Item> items)
 {
     foreach (var item in items ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.Item>())
     {
         if (((item?.SKU ?? "") == null || (item?.SKU ?? "") == ""))
         {
             return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Failed", "Found an item with empty SKU.", "", "-1"));
         }
         if ((item?.Exists() ?? false))
         {
             zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Item exists.");
             DSS1_RetailerDriverStockOptimisation.BO.Item existingItem = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetById <DSS1_RetailerDriverStockOptimisation.BO.Item>((item?.SKU ?? ""));
             var _var0 = item?.Supplier?.Code;
             existingItem.Supplier = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Supplier>((a) => a.Code == _var0)?.FirstOrDefault();
             var _var1 = item?.BusinessUnit?.Number;
             existingItem.BusinessUnit = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.BusinessUnit>((b) => b.Number == _var1)?.FirstOrDefault();
             var _var2 = item?.Category?.Number;
             var _var3 = item?.BusinessUnit?.Number;
             existingItem.Category = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Category>((c) => c.Number == _var2 && c.BusinessUnit.Number == _var3)?.FirstOrDefault();
             var _var4 = item?.SubCategory?.Number;
             var _var5 = existingItem?.Category?.Id;
             existingItem.SubCategory = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.SubCategory>((sc) => sc.Number == _var4 && sc.Category.Id == _var5)?.FirstOrDefault();
             var _var6 = item?.BaseUnit?.Number;
             var _var7 = existingItem?.SubCategory?.Id;
             existingItem.BaseUnit         = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.BaseUnit>((bu) => bu.Number == _var6 && bu.SubCategory.Id == _var7)?.FirstOrDefault();
             existingItem.Description      = (item?.Description ?? "");
             existingItem.UPC              = (item?.UPC ?? "");
             existingItem.PalletSize       = (item?.PalletSize ?? 0);
             existingItem.SupplierPackSize = (item?.SupplierPackSize ?? 0);
             existingItem.InnerPackSize    = (item?.InnerPackSize ?? 0);
             existingItem.PalletType       = (item?.PalletType ?? "");
             existingItem.PalTI            = (item?.PalTI ?? 0);
             existingItem.PalHI            = (item?.PalHI ?? 0);
             existingItem.UOM              = (item?.UOM ?? "");
             new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.Item>(existingItem);
         }
         else
         {
             zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "API", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "***** New Item imported with SKU:  " + (item?.SKU ?? ""));
             DSS1_RetailerDriverStockOptimisation.BO.Item newItem = new DSS1_RetailerDriverStockOptimisation.BO.Item();
             newItem.SKU = (item?.SKU ?? "");
             var _var8 = item?.Supplier?.Code;
             newItem.Supplier = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Supplier>((a) => a.Code == _var8)?.FirstOrDefault();
             var _var9 = item?.BusinessUnit?.Number;
             newItem.BusinessUnit = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.BusinessUnit>((b) => b.Number == _var9)?.FirstOrDefault();
             var _var10 = item?.Category?.Number;
             newItem.Category = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.Category>((c) => c.Number == _var10)?.FirstOrDefault();
             var _var11 = item?.SubCategory?.Number;
             var _var12 = item?.Category?.Id;
             newItem.SubCategory = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.SubCategory>((sc) => sc.Number == _var11 && sc.Category.Id == _var12)?.FirstOrDefault();
             var _var13 = item?.BaseUnit?.Number;
             var _var14 = item?.SubCategory?.Id;
             newItem.BaseUnit         = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.BaseUnit>((bu) => bu.Number == _var13 && bu.SubCategory.Id == _var14)?.FirstOrDefault();
             newItem.Description      = (item?.Description ?? "");
             newItem.UPC              = (item?.UPC ?? "");
             newItem.PalletSize       = (item?.PalletSize ?? 0);
             newItem.SupplierPackSize = (item?.SupplierPackSize ?? 0);
             newItem.InnerPackSize    = (item?.InnerPackSize ?? 0);
             newItem.PalletType       = (item?.PalletType ?? "");
             newItem.PalTI            = (item?.PalTI ?? 0);
             newItem.PalHI            = (item?.PalHI ?? 0);
             newItem.UOM              = (item?.UOM ?? "");
             new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.Item>(newItem);
         }
     }
     return(DSS1_RetailerDriverStockOptimisation.BO.ResponseExtensions.GenerateResponse("Succeed", "All items imported successfully.", "", "1"));
 }