Example #1
0
        public IHttpActionResult GenerateRemittance(RemittanceDTO RemiteRequest)
        {
            if (!ModelState.IsValid)
            {
                return(GetErrorMsg(1, "Parameter Missing"));
            }

            RemittanceDTO RemitResponse = utility.GetRemittance(RemiteRequest);

            if (RemitResponse == null)
            {
                return(GetErrorMsg(2, "Parameter Missing"));
            }

            if (RemitResponse.Message == 1)
            {
                return(GetErrorMsg(2, "Pending Remittance"));
            }

            if (RemitResponse.Message == 2)
            {
                return(GetErrorMsg(2, "No Pending Collection"));
            }

            utility.UpdateCollection(RemitResponse);

            return(Ok(RemitResponse));
        }
Example #2
0
        //generating remittance
        public RemittanceDTO GetRemittance(RemittanceDTO RemitRequest)
        {
            var UserVerify = _db.aspnetusers.Where(o => o.Id == RemitRequest.USER_ID).SingleOrDefault();
            var PosVerify  = _db.pos.Where(o => o.POS_ID == RemitRequest.POS_ID).SingleOrDefault();

            if (UserVerify == null || PosVerify == null)
            {
                return(null);
            }

            var RemitStatus = _db.remittances.Where(o => o.USER_ID == RemitRequest.USER_ID &&
                                                    o.remittance_status == 0 &&
                                                    o.MDAStation_ID == RemitRequest.MDAStation_ID)
                              .SingleOrDefault();

            if (RemitStatus != null)
            {
                RemitRequest.Message = 1;
                return(RemitRequest);
            }

            var collection = _db.pos_collections.Where(o => o.USER_ID == RemitRequest.USER_ID &&
                                                       o.CollectionStatus == 0 &&
                                                       o.MDAStation_ID == RemitRequest.MDAStation_ID)
                             .FirstOrDefault();

            if (collection == null)
            {
                RemitRequest.Message = 2;
                return(RemitRequest);
            }

            var collectionAmount = _db.pos_collections.Where(o => o.USER_ID == RemitRequest.USER_ID &&
                                                             o.CollectionStatus == 0 &&
                                                             o.MDAStation_ID == RemitRequest.MDAStation_ID)
                                   .Select(o => o.Amount).Sum();

            remittance RemiteMap = Mapper.Map <RemittanceDTO, remittance>(RemitRequest);

            RemiteMap.amount        = collectionAmount;
            RemiteMap.remittance_id = "RE" + RandomNumber();
            RemiteMap.create_at     = GetCurrentDateTime();

            var RemiteResponse = _db.remittances.Add(RemiteMap);

            _db.SaveChanges();



            RemittanceDTO RemiteResponseDTO = Mapper.Map <remittance, RemittanceDTO>(RemiteResponse);

            return(RemiteResponseDTO);
        }
Example #3
0
        //updating pos collection status
        public void UpdateCollection(RemittanceDTO RemitRequest)
        {
            var CollectionRemite = _db.pos_collections.Where(o => o.USER_ID == RemitRequest.USER_ID &&
                                                             o.CollectionStatus == 0 &&
                                                             o.MDAStation_ID == RemitRequest.MDAStation_ID)
                                   .ToList();

            foreach (var item in CollectionRemite)
            {
                item.remittance_id    = RemitRequest.remittance_id;
                item.CollectionStatus = CollectionStatus.Remitted;
                _db.SaveChanges();
            }
        }