Esempio n. 1
0
        public async Task <IList <Contract_SazeVM> > GetAllSazeByContractIdAsync(int contractId)
        {
            try
            {
                var contract_Sazes = await this.unitOfWork.RepositoryAsync <Contract_Saze>().Queryable().Where(x => x.ContractID == contractId).ToListAsync2();


                List <Contract_SazeVM> contract_SazeVMs = new List <Contract_SazeVM>();

                Mapper.Map(contract_Sazes, contract_SazeVMs);

                SazeRule     sazeRule     = new SazeRule();
                NoeEjareRule noeEjareRule = new NoeEjareRule();

                foreach (var contract_SazeVM in contract_SazeVMs)
                {
                    contract_SazeVM.Saze     = Mapper.Map <SazeVM>(await sazeRule.FindAsync(contract_SazeVM.SazeId));
                    contract_SazeVM.NoeEjare = Mapper.Map <NoeEjareVM>(await noeEjareRule.FindAsync(contract_SazeVM.NoeEjareId));
                }
                return(contract_SazeVMs);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 2
0
        public virtual async Task <HttpResponseMessage> GetAllByOrganId()
        {
            try
            {
                var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

                NoeEjareRule noeEjareRule = new NoeEjareRule();
                var          list         = await noeEjareRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                var list2 = list.Select(x => new { FamilyTree = "کالاها و خدمات", Id = x.ID, Title = x.Title, Parents = ",2,", SystemAccount = 2 }).ToList();

                return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = list2.AsQueryable() }));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 3
0
        public async Task <HttpResponseMessage> loadReservationData([FromBody] loadReservationDataBusi reservationData)
        {
            try
            {
                var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

                var resualt = new ReservationData();

                List <ContactVM> contacts    = new List <ContactVM>();
                ContactRule      contactRule = new ContactRule();

                var contactsSource = await contactRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                contactsSource = contactsSource.ToList();

                contacts = TranslateHelper.TranslateEntityToEntityVMListContact(contactsSource);

                foreach (var contact in contacts)
                {
                    contact.DetailAccount = new DetailAccount()
                    {
                        Code = contact.Code,
                        Id   = (int)contact.ID,
                        Node = new Node()
                        {
                            FamilyTree = "اشخاص",
                            Id         = (int)contact.ID,
                            Name       = "اشخاص"
                        }
                    };
                }



                resualt.contacts = contacts;



                NoeEjareRule noeEjareRule = new NoeEjareRule();
                var          noeEjares    = await noeEjareRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                resualt.noeEjares = noeEjares;

                GoroheSazeRule goroheSazeRule = new GoroheSazeRule();
                var            itemGroups     = await goroheSazeRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                var items = new List <SazeVM>();
                var item  = new SazeVM();

                foreach (var itemGroup in itemGroups)
                {
                    foreach (var KalaKhadmat in itemGroup.Items)
                    {
                        item = new SazeVM()
                        {
                            DetailAccount = new DetailAccount()
                            {
                                Code = KalaKhadmat.Code,
                                Id   = KalaKhadmat.ID,
                                Node = new Node()
                                {
                                    FamilyTree = itemGroup.Title,
                                    Name       = itemGroup.Title,
                                    Id         = itemGroup.ID
                                }
                            },
                            Code         = KalaKhadmat.Code,
                            OrganId      = KalaKhadmat.OrganId,
                            Address      = KalaKhadmat.Address,
                            Arz          = KalaKhadmat.Arz,
                            GoroheSazeID = KalaKhadmat.GoroheSazeID,
                            ID           = KalaKhadmat.ID,
                            Title        = KalaKhadmat.Title,
                            Tol          = KalaKhadmat.Tol,
                            NoeSazeId    = KalaKhadmat.NoeSazeId,
                            NoeEjare     = KalaKhadmat.NoeEjare,
                            GoroheName   = KalaKhadmat.GoroheName,
                            NoeEjareName = KalaKhadmat.NoeEjareName,
                            NoeSazeName  = KalaKhadmat.NoeSazeName,
                            Latitude     = KalaKhadmat.Latitude,
                            Longitude    = KalaKhadmat.Longitude,
                            NoorDard     = KalaKhadmat.NoorDard,
                            NoeEjareID   = KalaKhadmat.NoeEjareID,
                        };

                        items.Add(item);
                    }
                }

                resualt.items = items;

                var Reservation_DetailVMs = new List <Reservation_DetailVM>();

                var reservation_DetailVM = new List <Reservation_DetailVM>();

                if (reservationData.id == 0)
                {
                    var countRes = 0;
                    if (reservationData.lstSaze != null && reservationData.lstSaze.Count > 0)
                    {
                        reservationData.lstSaze = reservationData.lstSaze.Where(x => x.sazeID != 0).ToList();

                        foreach (var lstSaze in reservationData.lstSaze)
                        {
                            var saze = Mapper.Map <Saze, SazeVM>(this.BusinessRule.UnitOfWork.Repository <Saze>().Find(lstSaze.sazeID));

                            var startDate        = DateTime.Now;
                            var displayStartDate = PersianDateUtils.ToPersianDateTime(DateTime.Now);

                            bool minValue = false;
                            bool maxValue = false;

                            if (!string.IsNullOrEmpty(lstSaze.minDate) && !string.IsNullOrWhiteSpace(lstSaze.minDate))
                            {
                                startDate        = PersianDateUtils.ToDateTime(lstSaze.minDate);
                                displayStartDate = lstSaze.minDate;
                                minValue         = true;
                            }

                            var endDate        = DateTime.Now;
                            var displayEndDate = PersianDateUtils.ToPersianDateTime(DateTime.Now);

                            if (!string.IsNullOrEmpty(lstSaze.maxDate) && !string.IsNullOrWhiteSpace(lstSaze.maxDate))
                            {
                                endDate          = PersianDateUtils.ToDateTime(lstSaze.maxDate);
                                displayStartDate = lstSaze.maxDate;
                                maxValue         = true;
                            }

                            var quantity = 0;

                            if (minValue && maxValue)
                            {
                                var diff = endDate - startDate;
                                var days = diff.TotalDays;

                                quantity = Convert.ToInt32(days);
                            }


                            Reservation_DetailVMs.Add(new Reservation_DetailVM()
                            {
                                ID               = 0,
                                Quantity         = quantity,
                                Saze             = saze,
                                SazeID           = saze.ID,
                                NoeEjare         = Mapper.Map <NoeEjare, NoeEjareVM>(this.BusinessRule.UnitOfWork.Repository <NoeEjare>().Find(saze.NoeEjareID)),
                                NoeEjareID       = saze.NoeEjareID,
                                RowNumber        = 0,
                                StartDate        = startDate,
                                StartDisplayDate = displayStartDate,
                                //EndDate = endDate,
                                //EndDisplayDate = lstSaze.maxDate,
                            });
                            countRes += 1;
                        }


                        if (countRes < 3)
                        {
                            for (int i = 0; i < 3 - countRes; i++)
                            {
                                Reservation_DetailVMs.Add(new Reservation_DetailVM()
                                {
                                    ID         = 0,
                                    Quantity   = 0,
                                    Saze       = null,
                                    SazeID     = 0,
                                    NoeEjare   = null,
                                    NoeEjareID = 0,
                                    RowNumber  = countRes + i,
                                    //StartDate = startDate,
                                    StartDisplayDate = "",
                                    //EndDate = endDate,
                                    //EndDisplayDate = lstSaze.maxDate,
                                });
                            }
                        }
                    }
                    else
                    {
                        Reservation_DetailVMs.Add(new Reservation_DetailVM()
                        {
                            ID        = 0,
                            Quantity  = 0,
                            RowNumber = 0
                        });

                        Reservation_DetailVMs.Add(new Reservation_DetailVM()
                        {
                            ID        = 0,
                            Quantity  = 0,
                            RowNumber = 1
                        });

                        Reservation_DetailVMs.Add(new Reservation_DetailVM()
                        {
                            ID        = 0,
                            Quantity  = 0,
                            RowNumber = 2
                        });

                        Reservation_DetailVMs.Add(new Reservation_DetailVM()
                        {
                            ID        = 0,
                            Quantity  = 0,
                            RowNumber = 3
                        });
                    }



                    resualt.Reservation = new ReservationVM()
                    {
                        //Contact = Mapper.Map<Contact, ContactVM>(this.BusinessRule.UnitOfWork.Repository<Contact>().Find(reservation.ContactID)),

                        ID = 0,
                        DisplayRegisterDate = Utilities.PersianDateUtils.ToPersianDateTime(DateTime.Now),
                        // ContactID = reservation.ContactID,
                        OrganID      = organId,
                        RegisterDate = DateTime.Now,

                        ReservationDetails = Reservation_DetailVMs
                    };

                    return(Request.CreateResponse(HttpStatusCode.OK, new { resualtCode = (int)ZhivarEnums.ResultCode.Successful, data = resualt }));
                }
                else
                {
                    var reservation = await Rule.FindAsync(reservationData.id);

                    foreach (var reservationDetail in reservation.ReservationDetails ?? new List <Reservation_Detail>())
                    {
                        Reservation_DetailVMs.Add(new Reservation_DetailVM()
                        {
                            ID               = reservationDetail.ID,
                            Saze             = Mapper.Map <Saze, SazeVM>(this.BusinessRule.UnitOfWork.Repository <Saze>().Find(reservationDetail.SazeID)),
                            SazeID           = reservationDetail.SazeID,
                            Quantity         = reservationDetail.Quantity,
                            NoeEjare         = Mapper.Map <NoeEjare, NoeEjareVM>(this.BusinessRule.UnitOfWork.Repository <NoeEjare>().Find(reservationDetail.NoeEjareID)),
                            NoeEjareID       = reservationDetail.NoeEjareID,
                            EndDate          = reservationDetail.EndDate,
                            EndDisplayDate   = reservationDetail.EndDisplayDate,
                            ReservationID    = reservationDetail.ReservationID,
                            StartDate        = reservationDetail.StartDate,
                            StartDisplayDate = reservationDetail.StartDisplayDate,
                            UnitPrice        = reservationDetail.UnitPrice,
                            PriceBazareab    = reservationDetail.PriceBazareab,
                            PriceTarah       = reservationDetail.PriceTarah,
                            PriceChap        = reservationDetail.PriceChap,
                            PriceNasab       = reservationDetail.PriceNasab,
                            RowNumber        = reservationDetail.RowNumber
                        });
                    }


                    resualt.Reservation = new ReservationVM()
                    {
                        Contact = Mapper.Map <Contact, ContactVM>(this.BusinessRule.UnitOfWork.Repository <Contact>().Find(reservation.ContactID)),

                        ID = reservation.ID,
                        DisplayRegisterDate = reservation.DisplayRegisterDate,
                        ContactID           = reservation.ContactID,
                        OrganID             = reservation.OrganID,
                        RegisterDate        = reservation.RegisterDate,
                        ValiditDuration     = reservation.ValiditDuration,
                        ReservationDetails  = Reservation_DetailVMs
                    };

                    return(Request.CreateResponse(HttpStatusCode.OK, new { resualtCode = (int)ZhivarEnums.ResultCode.Successful, data = resualt }));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }