//public JsonResult EditOrderItem(MealMenuOrderItemView orderItem)
        public JsonResult EditOrderItem(MealMenuOrderItemSaveRequest request)
        {
            request.OrderItem.ModifiedBy         = CurrentUser.Name;
            request.OrderItem.ModifiedByFullName = CurrentUser.FullName;
            if (CurrentUser.UserTypeId() == (int)UserTypes.School)
            {
                request.SchoolId = CurrentUser.CurrentSchoolId();
            }

            return(Json(MealMenuOrderService.SaveOrderItem(request), JsonRequestBehavior.DenyGet));
        }
        public JsonResult DeleteOrderItem(MealMenuOrderItemView orderItem)
        {
            orderItem.ModifiedBy         = CurrentUser.Name;
            orderItem.ModifiedByFullName = CurrentUser.FullName;
            var request = new MealMenuOrderItemSaveRequest
            {
                SchoolId  = CurrentUser.CurrentSchoolId(),
                OrderItem = orderItem
            };

            return(Json(MealMenuOrderService.DeleteOrderItem(request), JsonRequestBehavior.DenyGet));
        }
Ejemplo n.º 3
0
        public MealMenuOrderItemSaveResponse SaveOrderItem(MealMenuOrderItemSaveRequest request)
        {
            return(Execute <MealMenuOrderItemSaveRequest, MealMenuOrderItemSaveResponse>(
                       request,
                       response =>
            {
                var annualAgreements = SchoolFacade.AnnualAgreementsByFilter(request.SchoolId, DateTime.Now.Year, request.MealTypeId);
                response.OrderItem = MealMenuOrderFacade.SaveOrderItem(request.OrderItem, request.SchoolId, annualAgreements.FirstOrDefault().Value);

                //if (request.OrderItem.Id > 0 && request.SchoolId>0)
                if (request.OrderItem.Id > 0 && request.SchoolId > 0 && (response.OrderItem.RefId ?? 0) > 0)
                {
                    int totalCount;
                    var invoice = MealMenuOrderFacade
                                  .GetInvoicesByFilter(new InvoiceFilterView
                    {
                        OrderDate = new DateTime(response.OrderItem.MealMenuValidDate.Year, response.OrderItem.MealMenuValidDate.Month, 1),
                        SchoolId = request.SchoolId,
                        RecordCount = 1
                    }, 1, 1, "", false, out totalCount).FirstOrDefault();
                    if (invoice == null || invoice.OrderStatus.Id == (long)OrderStatuses.InitialState)
                    {
                        return;
                    }
                    var orderItem = response.OrderItem;
                    var mailAddress = Settings.GetSetting <string>("EmailContactRegardsTo");
                    var school = SchoolFacade.Get(request.SchoolId);
                    // var emails = school.Users.Select(k => k.UserName).ToList();
                    var emails = new List <string>();
                    // UserFacade.GetActiveSchoolUsers(request.SchoolId).Select(c => c.UserName).ToList();
                    emails.Insert(0, mailAddress);
                    var toEmails = string.Join(",", emails);
                    var changedList = MealMenuOrderFacade.GetOrderItemHistory(response.OrderItem.RefId ?? 0);
                    var body = new StringBuilder();
                    body.AppendLine(
                        string.Format("<br/>{0} menu updates occured in {1} - {2} school {3} date order",
                                      orderItem.MenuName, school.Code, school.Name, orderItem.MealMenuValidDate));
                    changedList.ForEach(
                        d => body.AppendLine(string.Format("<br/><br/>Date : {0}", d.ModifiedAt))
                        .AppendLine(string.Format("<br/>Count : {0}", d.TotalCount))
                        .AppendLine(string.Format("<br/>Modified By : {0}", d.ModifiedByFullName))
                        .AppendLine(string.Format("<br/>Reason : {0}", d.ModifiedReason))
                        .AppendLine().AppendLine());

                    var subject = string.Format("{0} - {1} school {2} order {3} Menu Updates", school.Code,
                                                school.Name, orderItem.MealMenuValidDate, orderItem.MenuName);

                    MailService.SendMail(toEmails, subject, body.ToString());
                }
            }));
        }
Ejemplo n.º 4
0
 public VoidResponse DeleteOrderItem(MealMenuOrderItemSaveRequest request)
 {
     return(Execute <MealMenuOrderItemSaveRequest, VoidResponse>(
                request,
                response => MealMenuOrderFacade.DeleteOrderItem(request.OrderItem)));
 }