コード例 #1
0
ファイル: AccaProcess.cs プロジェクト: dilipsvn/mailingcycle
        public List <AccaInfo> GetCreditCardDetailsForScheduledEvents(DateTime eventDate)
        {
            IAccaProcess    dao         = (IAccaProcess)DALFactory.DAO.Create(DALFactory.Module.AccaProcess);
            List <AccaInfo> allAccaInfo = dao.GetCreditCardDetailsForScheduledEvents(eventDate);

            foreach (AccaInfo accaInfo in allAccaInfo)
            {
                OrderInfo orderInfo = new OrderInfo();
                orderInfo.Amount       = CalculateAmount(accaInfo);
                orderInfo.Type         = OrderType.Event;
                accaInfo.AccaOrderInfo = orderInfo;
                List <InventoryInfo> inventoryInfo = new Order().GetInventoryList(accaInfo.UserId);
                bool isInvAvl         = false;
                bool isInvCountNotAvl = false;
                if (accaInfo.EventStatus != ScheduleEventStatus.ACCAError)
                {
                    //Check for sufficient quantity
                    foreach (InventoryInfo invInfo in inventoryInfo)
                    {
                        //for brochure, check the availability of the same number of envelopes.
                        if ((invInfo.CategoryType.ToString() == accaInfo.AccaDesignCategory.ToString()) ||
                            (accaInfo.AccaDesignCategory != DesignCategory.PowerKard && invInfo.CategoryType == ProductCategory.Envelope))
                        {
                            isInvAvl = true;
                            if (invInfo.QuantityOnHand < accaInfo.ContactCount)
                            {
                                isInvCountNotAvl = true;
                                break;
                            }
                        }
                    }
                }
                if (isInvCountNotAvl || !isInvAvl)
                {
                    accaInfo.EventStatus = ScheduleEventStatus.ACCAError;
                    if (accaInfo.AccaDesignCategory == DesignCategory.Brochure)
                    {
                        accaInfo.Remarks = "Required quantity of Brochures/Envelopes not available";
                    }
                    else
                    {
                        accaInfo.Remarks = "Required quantity of PowerKards not available";
                    }
                }
            }
            return(allAccaInfo);
        }
コード例 #2
0
ファイル: AccaProcess.cs プロジェクト: dilipsvn/mailingcycle
        public List <AccaInfo> UpdateEventInfo(List <AccaInfo> eventsInfo)
        {
            IAccaProcess dao = (IAccaProcess)DALFactory.DAO.Create(DALFactory.Module.AccaProcess);

            return(dao.UpdateEventInfo(eventsInfo));
        }