/** update disbursement details **/
 public void updateDisbursementDetails(int disbursementID, String itemCode, int requestedQty, int actualQty)
 {
     /** validate requested and actual quantity **/
     if (vailidateActulaQty(requestedQty, actualQty))
     {
         var q = from dd in context.StationeryDisbursementDetails
                 where (dd.DisbursementID == disbursementID) && (dd.ItemCode.Equals(itemCode))
                 select dd;
         StationeryDisbursementDetail updateDisbursementDetails = (StationeryDisbursementDetail)q.FirstOrDefault();
         updateDisbursementDetails.ActualQty = actualQty;
         try
         {
             context.SaveChanges();
         }
         catch (Exception ex)
         {
             errorState = true;
             errorMsg   = "Update failed";
             throw new UpdateFailedException(errorMsg);
         }
     }
     else
     {
         errorState = true;
         errorMsg   = "The actual quantity cannot be more than requested quantity";
         throw new UpdateFailedException(errorMsg);
     }
 }
        /** Update Disbursement List **/

        public bool updateDisbursementList(String itemCode, int actualQty, int requiredQty, int disbursementID)
        {
            if (vailidateActulaQty(requiredQty, actualQty))
            {
                var q = (from sd in context.StationeryDisbursementDetails
                         where (sd.DisbursementID == disbursementID) &&
                         (sd.ItemCode.Equals(itemCode)) && (sd.DeletedFlag == false)
                         select sd).FirstOrDefault();
                if (q != null)
                {
                    StationeryDisbursementDetail updateDisbursementDetail = (StationeryDisbursementDetail)q;
                    updateDisbursementDetail.ActualQty = actualQty;

                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        errorState = true;
                        errorMsg   = "Failed to update Disbursement List for the department";
                        throw new UpdateFailedException(errorMsg);
                    }
                }
            }
            else
            {
                errorState = true;
                errorMsg   = "The actual quantity cannot be greater than required quantity";
                throw new UpdateFailedException(errorMsg);
            }

            return(errorState);
        }
        /** generate Disbursement List **/
        public bool getnerateAllDisbursementLists()
        {
            StationeryRetrieval sr = getStationeryRetrieval();

            /** Get the list of Department wise stationery requests **/
            var sdList = (from sd in context.StationeryRetrievalDepts
                          where (sd.RetrievalID == sr.RetrievalID) &&
                          (sd.DeletedFlag == false)
                          select sd).ToList();

            try
            {
                /** Get list of unique department codes **/
                List <String> dcs          = sdList.Select(x => x.DeptCode).Distinct().ToList();
                ArrayList     deptCodeList = new ArrayList(dcs.ToArray());

                foreach (String deptCode in deptCodeList)
                {
                    /** Create Stationery Disbursement **/

                    createStationeryDisbursement(sr.RetrievalID, deptCode);


                    /** Retreive latest Stationery Disbursement record **/
                    int disbursementID = (from d in context.StationeryDisbursements
                                          orderby d.DisbursementID descending
                                          select d.DisbursementID).FirstOrDefault();

                    foreach (StationeryRetrievalDept sd in sdList)
                    {
                        if (sd.DeptCode.Equals(deptCode))
                        {
                            /**Create Stationery Disbursement details**/
                            StationeryDisbursementDetail addStationeryDisbursementDetail = new StationeryDisbursementDetail();
                            addStationeryDisbursementDetail.DisbursementID = disbursementID;
                            addStationeryDisbursementDetail.ItemCode       = sd.ItemCode;
                            addStationeryDisbursementDetail.RequestedQty   = sd.RequestedQty;
                            addStationeryDisbursementDetail.ActualQty      = sd.ActualQty;
                            addStationeryDisbursementDetail.DeletedFlag    = false;
                            context.AddToStationeryDisbursementDetails(addStationeryDisbursementDetail);
                            context.SaveChanges();
                        }
                    }
                }
                /** change Statiobnery Retrieval status **/
                sr.RetrievalStatus = true;
                context.SaveChanges();
            }

            catch (Exception ex)
            {
                success  = false;
                errorMsg = "Failed to generate Disbursement List for department";
                throw new CreateFailedException(errorMsg);
            }

            return(success);
        }
Esempio n. 4
0
    public bool UpdateDisbursement(IStationeryDisbursementDetail sdd)
    {
        StationeryDisbursementDetail sdd1 = new StationeryDisbursementDetail();

        sdd1.DisbursementID = sdd.DisbursementId;
        sdd1.ItemCode       = sdd.ItemCode;
        sdd1.RequestedQty   = sdd.RequestedQty;
        sdd1.ActualQty      = sdd.ActualQty;

        int result = udlc.updateDisbursementQty(sdd1);

        return(result > 0);
    }
        public int updateDisbursementQty(StationeryDisbursementDetail sdd)
        {
            var q = (from x in context.StationeryDisbursementDetails
                     where x.ItemCode == sdd.ItemCode && x.DisbursementID == sdd.DisbursementID
                     select x).First();

            q.ActualQty = sdd.ActualQty;

            int result;

            try
            {
                result = context.SaveChanges();
            }
            catch (Exception e)
            {
                result = 0;
            }

            return(result);
        }