Example #1
0
        public void UpdateOrderDetails(OrderDetailsView orderDetails)

        {
            try
            {
                using (Entities context = new Entities())
                {
                    var ordert = context.Set <OrdersTbl>().Find(orderDetails.OrderNumber);
                    //ניתן לשנות הזמנה בסטטוס חדש בלבד
                    if (ordert.OrderStatus != 11)
                    {
                        throw new Exception("לא ניתן לשנות את ההזמנה. אנא פנה למנהל הכלביה");
                    }


                    context.Entry(ordert).CurrentValues.SetValues(orderDetails);
                    context.SaveChanges();
                    if (orderDetails.UserEmail != string.Empty)
                    {
                        //שליחת מייל למשתמש
                        SendMailService sendMailService = new SendMailService();
                        SendMailRequest mailRequest     = new SendMailRequest();
                        mailRequest.recipient = orderDetails.UserEmail;

                        mailRequest.subject = "מצב הזמנה - " + orderDetails.OrderNumber + "מקום טוב- יוסף טוויטו";
                    }
                }
            }
            catch (SqlException ex)
            { throw ex; }
            finally
            { }
        }
Example #2
0
        //public decimal CalculateOrderPrice()

        //{
        //    OrderDetailsView order = new OrderDetailsView();
        //    order.mDogs = new List<DogsInOrderView>();
        //    order.mDogs.Add(new DogsInOrderView());
        //    order.mDogs.Add(new DogsInOrderView());
        //    order.mDogs[0].FromDate = new DateTime(2018, 1, 1);
        //    order.mDogs[0].ToDate = new DateTime(2018, 1, 15);
        //    order.mDogs[1].FromDate = new DateTime(2018, 1, 20);
        //    order.mDogs[1].ToDate = new DateTime(2018, 2, 20);
        //    Entities context = new Entities();

        //    Decimal price = 0;
        //    var prices = context.PricesTbl
        //    .OrderBy(p => p.Days).Select(np => new PricesView
        //    {
        //        Days = np.Days,
        //        Dogs = np.Dogs,
        //        Price = np.Price
        //    });
        //    int days = 0;
        //    if ((order.mDogs.Count == 2 && order.mDogs[0].FromDate == order.mDogs[1].FromDate && order.mDogs[0].ToDate == order.mDogs[1].ToDate) || order.mDogs.Count == 1)
        //    {
        //        days = order.mDogs[0].ToDate.Subtract(order.mDogs[0].FromDate).Days;
        //        if (order.mDogs[0].ShiftNumberTo == 2)
        //            days++;
        //        List<PricesView> p = prices.Where(o => o.Dogs == order.mDogs.Count).ToList();
        //        price = Calculte(days, p);

        //    }

        //    //לטפל ב 2 כלבים עם תאריכים שונים
        //    else
        //    {
        //        DateTime dateTimeFrom, dateTimeTo;
        //        if (order.mDogs[0].FromDate.CompareTo(order.mDogs[1].FromDate) < 0)
        //        {
        //            dateTimeFrom = order.mDogs[0].FromDate;
        //        }
        //        else
        //        {
        //            dateTimeFrom = order.mDogs[1].FromDate;
        //        }
        //        if (order.mDogs[0].ToDate.CompareTo(order.mDogs[1].ToDate) < 0)
        //        {
        //            dateTimeTo = order.mDogs[1].ToDate;
        //        }
        //        else
        //{
        //    dateTimeTo = order.mDogs[0].ToDate;
        //}

        //days = dateTimeTo.Subtract(dateTimeFrom).Days;
        //if (order.mDogs[0].ShiftNumberTo == 2)
        //    days++;
        //int[] arr = new int[days];
        //for (int i = 0; i < arr.Length; i++)
        //{
        //    arr[i] = -1;
        //}
        //DateTime date = order.mDogs[0].ToDate;
        ////טיפול בהחזרה במשמרת בוקר- לא מחשיבים את היום לתשלום
        //if (order.mDogs[0].ShiftNumberTo == 1)
        //    date.AddDays(-1);
        //changeArr(arr, order.mDogs[0].FromDate, date, dateTimeFrom);
        //if (order.mDogs[1].ShiftNumberTo == 1)
        //    date.AddDays(-1);
        //changeArr(arr, order.mDogs[1].FromDate, date, dateTimeFrom);

        //int dogs2 = 0;
        //for (int i = 0; i < arr.Length; i++)
        //{
        //    dogs2 += arr[i];
        //}
        //List<PricesView> p;

        //if (dogs2 > 0) //פתרון הבעיה שיש בהזמנה 2 כלבים אבל התאריכים לא חופפים ולכן יש בעצם פעמיים כלב 1
        //{
        //    //חישוב מספר הימים ל 2 כלבים
        //    p = prices.Where(o => o.Dogs == 2).ToList();
        //    price += Calculte(dogs2, p);
        //}
        //else
        //    dogs2 *= -1;
        //int dogs1 = arr.Length - dogs2;
        ////חישוב מספר הימים לכלב 1
        //p = prices.Where(o => o.Dogs == 1).ToList();
        //price = Calculte(dogs1, p);



        //}
        //return price;
        //}
        //private void changeArr(int[] arr, DateTime min, DateTime max, DateTime first)
        //{
        //    int i = 0;
        //    for (DateTime d = min; d <= max; d = d.AddDays(1))
        //    {
        //        i = d.Subtract(first).Days;
        //        arr[i]++;
        //    }
        //}


        //חישוב ההזמנה
        // public decimal CalculateOrderPrice(OrderDetailsView order)
        public decimal CalculateOrderPrice(OrderDetailsView order)
        {
            // חישוב ההזמנה ללא הזמנות אחרות חופפות
            //OrderDetailsView order = new OrderDetailsView();
            //order.mDogs = new List<DogsInOrderView>();
            //order.mDogs.Add(new DogsInOrderView());
            //order.mDogs.Add(new DogsInOrderView());
            //order.mDogs[0].FromDate = new DateTime(2018, 1, 1);
            //order.mDogs[0].ToDate = new DateTime(2018, 1, 15);
            //order.mDogs[1].FromDate = new DateTime(2018, 1, 20);
            //order.mDogs[1].ToDate = new DateTime(2018, 2, 20);
            Entities context = new Entities();

            Decimal price  = 0;
            var     prices = context.PricesTbl
                             .OrderBy(px => px.Days).Select(np => new PricesView
            {
                Days  = np.Days,
                Dogs  = np.Dogs,
                Price = np.Price
            });
            int days = 0;

            // if ((order.mDogs.Count == 2 && order.mDogs[0].FromDate == order.mDogs[1].FromDate && order.mDogs[0].ToDate == order.mDogs[1].ToDate) || order.mDogs.Count == 1)
            //if ((order.mDogs.Count == 2  || order.mDogs.Count == 1)
            //{

            days = order.ToDate.Subtract(order.FromDate).Days;
            if (order.ShiftNumberTo == 2)      //אם לוקח את הכלבים בערב - מחושב יום נוסף בתשלום
            {
                days++;
            }
            List <PricesView> p = prices.Where(o => o.Dogs == order.mDogs.Count).ToList();

            price = Calculte(days, p);

            //}
            return(price);
        }
Example #3
0
        public decimal CalculateOrderPriceParallel(OrderDetailsView order, List <OrderDetailsView> orderDetailsViewDBList)

        {// חישוב עבור הזמנות חופפות
            int     days  = 0;
            decimal price = 0;

            days = order.ToDate.Subtract(order.FromDate).Days;
            if (order.ShiftNumberTo == 2)  //אם לוקח את הכלבים בערב - מחושב יום נוסף בתשלום
            {
                days++;
            }
            int orderShift = order.ShiftNumberTo - 1;

            int[] arr = new int[days];
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = 1;
            }
            int dbshift;

            for (int i = 0; i < orderDetailsViewDBList.Count; i++)
            {
                dbshift = orderDetailsViewDBList[i].ShiftNumberTo - 1;
                if (orderDetailsViewDBList[i].FromDate.CompareTo(order.FromDate) >= 0 && orderDetailsViewDBList[i].FromDate.CompareTo(order.ToDate.AddDays(orderShift)) <= 0 &&
                    orderDetailsViewDBList[i].ToDate.AddDays(dbshift).CompareTo(order.FromDate) >= 0 && orderDetailsViewDBList[i].ToDate.AddDays(dbshift).CompareTo(order.ToDate.AddDays(orderShift)) <= 0) // תאריך תחילת ההזמנה בבסיס הנתונים נופל בתוך תאריך ההזמנה החדשה
                {
                    changeArr(arr, orderDetailsViewDBList[i].FromDate, orderDetailsViewDBList[i].ToDate.AddDays(dbshift), order.FromDate, orderDetailsViewDBList[i].mDogs.Count);
                }

                else
                if (order.FromDate.CompareTo(orderDetailsViewDBList[i].FromDate) >= 0 && order.FromDate.CompareTo(orderDetailsViewDBList[i].ToDate.AddDays(dbshift)) <= 0 &&
                    order.ToDate.AddDays(orderShift).CompareTo(orderDetailsViewDBList[i].FromDate) >= 0 && order.ToDate.AddDays(orderShift).CompareTo(orderDetailsViewDBList[i].ToDate.AddDays(dbshift)) <= 0)
                {
                    changeArr(arr, order.FromDate, order.ToDate.AddDays(orderShift), order.FromDate, orderDetailsViewDBList[i].mDogs.Count);
                }
                else
                if (orderDetailsViewDBList[i].FromDate.CompareTo(order.FromDate) >= 0 && orderDetailsViewDBList[i].FromDate.CompareTo(order.ToDate.AddDays(orderShift)) <= 0)
                {
                    changeArr(arr, orderDetailsViewDBList[i].FromDate, order.ToDate.AddDays(orderShift), order.FromDate, orderDetailsViewDBList[i].mDogs.Count);
                }
                else
                if (orderDetailsViewDBList[i].ToDate.AddDays(dbshift).CompareTo(order.FromDate) >= 0 && orderDetailsViewDBList[i].ToDate.AddDays(dbshift).CompareTo(order.ToDate.AddDays(orderShift)) <= 0)
                {
                    changeArr(arr, order.FromDate, orderDetailsViewDBList[i].ToDate.AddDays(dbshift), order.FromDate, orderDetailsViewDBList[i].mDogs.Count);
                }
            }

            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] > 2)
                {
                    return(-997);             //הזמנה נוכחית + קודמות- יותר מ 2 כלבים
                }
            }
            int dog1 = 0;

            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] == 1)
                {
                    dog1++;
                }
            }

            Entities context = new Entities();
            var      prices  = context.PricesTbl
                               .OrderBy(px => px.Days).Select(np => new PricesView
            {
                Days  = np.Days,
                Dogs  = np.Dogs,
                Price = np.Price
            });
            List <PricesView> p = prices.Where(o => o.Dogs == 1).ToList();

            price += Calculte(dog1, p);
            p      = prices.Where(o => o.Dogs == 2).ToList();
            for (int i = 0; i < p.Count(); i++)
            {
                p[i].Price = p[i].Price / 2;
            }
            price += Calculte(arr.Length - dog1, p);
            return(price);

            //DateTime dateTimeFrom, dateTimeTo;
            //if (order.mDogs[0].FromDate.CompareTo(order.mDogs[1].FromDate) < 0)
            //{
            //    dateTimeFrom = order.mDogs[0].FromDate;
            //}
            //else
            //{
            //    dateTimeFrom = order.mDogs[1].FromDate;
            //}
            //if (order.mDogs[0].ToDate.CompareTo(order.mDogs[1].ToDate) < 0)
            //{
            //    dateTimeTo = order.mDogs[1].ToDate;
            //}
            //else
            //{
            //    dateTimeTo = order.mDogs[0].ToDate;
            //}

            // days = dateTimeTo.Subtract(dateTimeFrom).Days;
            //if (order.mDogs[0].ShiftNumberTo == 2)
            //    days++;

            //DateTime date = order.mDogs[0].ToDate;

            //טיפול בהחזרה במשמרת בוקר- לא מחשיבים את היום לתשלום
            //if (order.mDogs[0].ShiftNumberTo == 1)
            //    date.AddDays(-1);
            //changeArr(arr, order.mDogs[0].FromDate, date, dateTimeFrom);
            //if (order.mDogs[1].ShiftNumberTo == 1)
            //    date.AddDays(-1);
            //changeArr(arr, order.mDogs[1].FromDate, date, dateTimeFrom);

            //int dogs2 = 0;
            //for (int i = 0; i < arr.Length; i++)
            //{
            //    dogs2 += arr[i];
            //}


            //if (dogs2 > 0) //פתרון הבעיה שיש בהזמנה 2 כלבים אבל התאריכים לא חופפים ולכן יש בעצם פעמיים כלב 1
            //{
            //    //חישוב מספר הימים ל 2 כלבים
            //    p = prices.Where(o => o.Dogs == 2).ToList();
            //    price += Calculte(dogs2, p);
            //}
            //else
            //    dogs2 *= -1;

            //int dogs1 = arr.Length - dogs2;
            ////חישוב מספר הימים לכלב 1
            //p = prices.Where(o => o.Dogs == 1).ToList();
            //price = Calculte(dogs1, p);
        }
Example #4
0
        private decimal checkForAnotherParallelOrder(OrderDetailsView orderDetailsView)
        //private List<OrderDetailsView> checkForAnotherParallelOrder(OrderDetailsView orderDetailsView)
        {
            decimal result = 1;
            //orderDetailsView.FromDate = new DateTime(2018, 1, 20);
            //orderDetailsView.ToDate = new DateTime(2018, 2, 20);
            List <OrderDetailsView> list = new List <OrderDetailsView>();

            try
            {
                using (Entities context = new Entities())
                {
                    //List<OrdersTbl> orders = context.OrdersTbl.Where(p => p.OrderUserId == orderDetailsView.Userid && (p.OrderStatus==12 || p.OrderStatus==11 || p.OrderStatus==15)
                    //                                                  &&( (orderDetailsView.FromDate >= p.FromDate && orderDetailsView.FromDate <= p.ToDate)
                    //                                                   || (orderDetailsView.ToDate >= p.FromDate && orderDetailsView.ToDate <= p.ToDate)
                    //                                                  || (orderDetailsView.FromDate <= p.FromDate && orderDetailsView.ToDate > p.ToDate)
                    //                                                  )
                    //                                                 ).ToList();



                    List <OrdersTbl> orders = context.OrdersTbl.Where(p => p.OrderUserId == orderDetailsView.Userid && (p.OrderStatus == 12 || p.OrderStatus == 11 || p.OrderStatus == 15) &&
                                                                      ((p.FromDate >= orderDetailsView.FromDate && p.ToDate <= orderDetailsView.FromDate) ||
                                                                       (p.ToDate >= orderDetailsView.FromDate && p.ToDate <= orderDetailsView.ToDate) ||
                                                                       (p.FromDate <= orderDetailsView.FromDate && p.ToDate > orderDetailsView.ToDate)
                                                                      )
                                                                      ).ToList();
                    if (orders.Count > 0) //יש הזמנות חופפות
                    {
                        OrderDetailsView orderDetailsViewDB = new OrderDetailsView();
                        foreach (var order in orders)
                        {
                            orderDetailsViewDB.mDogs = GetDogsForOrder(order.OrderNumber); //שליפת כלבים בהזמנה החופפת
                            List <int> nums = new List <int>();
                            foreach (DogsInOrderView d in orderDetailsViewDB.mDogs)
                            {
                                nums.Add(d.DogNumber);
                            }



                            foreach (DogsInOrderView dog in orderDetailsView.mDogs)
                            {
                                var found = nums.Where(d => d == dog.DogNumber); //בדיקה אם יש כלב משותף בהזמנה הנוכחית ןבהזמנות קודמות
                                if (found.Count() > 0)                           //   אם כן מחזיר שגיאה
                                {
                                    return(-997);
                                }
                            }


                            //orderDetailsViewDB.FromDate = (DateTime)order.FromDate;
                            //orderDetailsViewDB.OrderNumber = order.OrderNumber;
                            //orderDetailsViewDB.ShiftNumberFrom = (int)order.ShiftNumberFrom;
                            //orderDetailsViewDB.ShiftNumberTo = (int)order.ShiftNumberTo;

                            //orderDetailsViewDB.ToDate = (DateTime)order.ToDate;

                            //list.Add(orderDetailsViewDB);
                        }
                        // result = CalculateOrderPriceParallel(orderDetailsView, list);
                    }
                    //if (orderDetailsView.mDogs.Count > 2)
                    //    return -999; // מספר כלבים בהזמנה > 2   .
                    result = CalculateOrderPrice(orderDetailsView); //חישוב רגיל
                }
                ;                                                   //נמצאה בבסיס הנתונים הזמנה חופפת עם כלבים אחרים
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            //return list;
        }
Example #5
0
        //שליפת כל ההזמנות של כל המשתמשים
        private List <OrderDetailsView> GetOrdersFromDB()
        {
            List <OrderDetailsViewManager> orderslistManager = context.OrdersTbl.
                                                               Join(context.OrderTypes,
                                                                    o => o.OrderType, ot => ot.OrderTypeId,
                                                                    (o, ot) => new
            {
                o.OrderNumber,
                OrderDate = o.OrderCreateDate,
                Price     = (decimal)o.Price,
                o.OrderconfirmationNumber,
                o.OrderStatus,
                Userid    = o.UsersTbl.UserID,
                OrderType = ot.OrderTypeId,
                o.ShiftNumberFrom,
                o.ShiftNumberTo,
                o.FromDate,
                o.ToDate,
                ot.OrderTypeName,
                o.ManagerComments,
                o.discount
            }).Join(context.StatusTbl,
                    a => a.OrderStatus, s => s.StatusId,
                    (a, s) => new
            {
                a.OrderNumber,
                a.OrderDate,
                Price = (decimal)a.Price,
                a.OrderconfirmationNumber,
                a.OrderStatus,
                a.Userid,
                OrderStatusName = s.StatusName,
                a.ShiftNumberFrom,
                a.ShiftNumberTo,
                a.FromDate,
                a.ToDate,
                a.OrderType,
                a.OrderTypeName,
                a.ManagerComments,
                a.discount
            }).Join(context.UsersTbl,
                    o => o.Userid, u => u.UserID,
                    (o, u) => new OrderDetailsViewManager
            {
                UserEmail               = u.UserEmail,
                OrderNumber             = o.OrderNumber,
                OrderDate               = o.OrderDate,
                Price                   = (decimal)o.Price,
                OrderconfirmationNumber = o.OrderconfirmationNumber,
                OrderStatus             = o.OrderStatus,
                Userid                  = o.Userid,
                userFirstName           = u.UserFirstName,
                userLastName            = u.UserLastName,
                OrderStatusName         = o.OrderStatusName,
                FromDate                = (DateTime)o.FromDate,
                ToDate                  = (DateTime)o.ToDate,
                ShiftNumberFrom         = (int)o.ShiftNumberFrom,
                ShiftNumberTo           = (int)o.ShiftNumberTo,
                OrderType               = o.OrderType,
                OrderTypeName           = o.OrderTypeName,
                ManagerComments         = o.ManagerComments,
                Discount                = (decimal)o.discount
            }

                    ).Distinct()
                                                               .ToList();


            List <OrderDetailsView> orderslist = new List <OrderDetailsView>();

            for (int i = 0; i < orderslistManager.Count; i++)
            {
                OrderDetailsView detailsView = orderslistManager[i];
                orderslist.Add(detailsView);
            }
            return(orderslist);
        }
Example #6
0
        //הכנסת הזמנה
        public int createOrder(OrderDetailsView orderDetailsView)
        //  public int CreateOrder()

        {
            //Userservice userservice = new Userservice();
            //OrderDetailsView orderDetailsView = new OrderDetailsView();
            //orderDetailsView.Userid = 1;
            //orderDetailsView.FromDate = new DateTime(2018, 11, 01);
            //orderDetailsView.ToDate = new DateTime(2018, 11, 30);
            //orderDetailsView.ShiftNumberFrom = 1;
            //orderDetailsView.ShiftNumberTo = 2;
            //orderDetailsView.User = new UserDetailsView();
            //orderDetailsView.User.UserEmail = "*****@*****.**";
            //orderDetailsView.userFirstName = "איריס";
            //orderDetailsView.userLastName = "זרצקי";
            //orderDetailsView.mDogs = new List<DogsInOrderView>();
            //orderDetailsView.mDogs.Add(new DogsInOrderView());
            //orderDetailsView.mDogs.Add(new DogsInOrderView());
            //orderDetailsView.mDogs[0].DogNumber = 4;
            //orderDetailsView.mDogs[0].Training = true;
            //orderDetailsView.mDogs[1].DogNumber = 3;
            OrdersTbl ordersTbl = new OrdersTbl();

            //if(orderDetailsView.mDogs.Count==2)
            //     ordersTbl.Price = CalculateOrderPrice(orderDetailsView);

            decimal result = checkForAnotherParallelOrder(orderDetailsView);  //אין הזמנות חופפות לאותם כלבים

            if (result >= 0)
            {
                ordersTbl.OrderStatus     = 11;
                ordersTbl.OrderUserId     = orderDetailsView.Userid;
                ordersTbl.OrderType       = 1;
                ordersTbl.FromDate        = orderDetailsView.FromDate;
                ordersTbl.ShiftNumberFrom = orderDetailsView.ShiftNumberFrom;
                ordersTbl.ToDate          = orderDetailsView.ToDate;
                ordersTbl.ShiftNumberTo   = orderDetailsView.ShiftNumberTo;
                ordersTbl.OrderCreateDate = DateTime.Now;
                if (orderDetailsView.mDogs.Count > 2)
                {
                    ordersTbl.Price = -999;  //יותר מ 2 כלבים. מחיר ינתן בתיאום עם יוסף
                }
                else
                {
                    if (orderDetailsView.Price == 0)
                    {
                        ordersTbl.Price = result;
                    }
                }
                if (orderDetailsView.Discount > 0)
                {
                    ordersTbl.discount = orderDetailsView.Discount;
                }
                else
                {
                    ordersTbl.discount = 0;
                }
                // List<OrderDetailsView> list = checkForAnotherParallelOrder(orderDetailsView);


                for (int i = 0; i < orderDetailsView.mDogs.Count; i++)
                {
                    //if (orderDetailsView.mDogs[i].Training)

                    //{
                    DogsInOrder dogsInOrder = new DogsInOrder();
                    dogsInOrder.DogTraining = orderDetailsView.mDogs[i].DogTraining;
                    dogsInOrder.DogNumber   = orderDetailsView.mDogs[i].DogNumber;

                    dogsInOrder.HomeFood = orderDetailsView.mDogs[i].HomeFood;

                    dogsInOrder.Status = 21; //פעיל בהזמנה, אם יבוטל ישתנה הקוד ל 23
                    ordersTbl.DogsInOrder.Add(dogsInOrder);
                    //}
                }


                context.OrdersTbl.Add(ordersTbl);
                context.SaveChanges();
                //שליפת מספר ההזמנה שנוצרה
                result = GetLastOrder(orderDetailsView.Userid);
                if (orderDetailsView.UserEmail != string.Empty)
                {
                    //שליחת מייל למשתמש
                    SendMailService sendMailService = new SendMailService();
                    SendMailRequest mailRequest     = new SendMailRequest();
                    mailRequest.recipient = orderDetailsView.UserEmail;
                    mailRequest.subject   = "קליטת הזמנה - " + (int)result + "מקום טוב- יוסף טוויטו";
                    mailRequest.body      = " הזמנתך נקלטה";

                    sendMailService.SendMail(mailRequest);
                    //שליחת מייל ליוסף
                    SendMailService sendMailServiceMT = new SendMailService();
                    SendMailRequest mailRequestMT     = new SendMailRequest();
                    mailRequest.recipient = "*****@*****.**";
                    mailRequest.subject   = " קליטת הזמנה  - " + (int)result + "מקום טוב- יוסף טוויטו";
                    mailRequest.body      = string.Format(" הזמנה מלקוח {0} נקלטה במערכת ", orderDetailsView.userFirstName + " " + orderDetailsView.userLastName);
                    mailRequest.body     += "\n";
                    mailRequest.body     += string.Format("מתאריך {0} , משמרת {1} עד תאריך {2} , משמרת {3}", ((DateTime)ordersTbl.FromDate).ToShortDateString(), ordersTbl.ShiftNumberFrom, ((DateTime)ordersTbl.ToDate).ToShortDateString(), ordersTbl.ShiftNumberTo);
                    mailRequest.body     += "\n";
                    mailRequest.body     += string.Format("מספר כלבים בהזמנה - {0}", ordersTbl.DogsInOrder.Count);
                    sendMailService.SendMail(mailRequest);
                }
            }
            return((int)result);
        }