Exemple #1
0
        public SOWSaveRes Put(SOWReq req)
        {
            logger.Info(Environment.NewLine + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine);

            logger.Info(string.Format("{0}.{1} - START", this.GetType().Name, MethodBase.GetCurrentMethod().Name));

            var requestHeader = Request;

            var headers = requestHeader.Headers;

            if (headers.Contains("UID"))
            {
                var UID = headers.GetValues("UID").First();
                this.user = EncryptDecrypt.Decrypt(UID);
            }

            SOWSaveRes objRes = null;

            //SOWSaveRes objRes = _sowMasterService.InsertSOWMaster(req);

            return(objRes);
        }
Exemple #2
0
        public SOWSaveRes InsertSOWMaster(SOWReq req, string user)
        {
            //var queryParameters = new DynamicParameters();
            DynamicParameters queryParameters = new DynamicParameters();

            //'SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.' .ToString("yyyy-MM-dd HH:mm:ss")

            //SOWMaster Table
            queryParameters.Add("@SOWNo", req.Request.EsSOWMaster.SOWMasters[0].SOWNo);
            queryParameters.Add("@SOWDesc", req.Request.EsSOWMaster.SOWMasters[0].SOWDesc);
            queryParameters.Add("@StartDate", DateTime.ParseExact(req.Request.EsSOWMaster.SOWMasters[0].SOWStartDate, "dd-MM-yyyy", CultureInfo.InvariantCulture));
            queryParameters.Add("@EndDate", DateTime.ParseExact(req.Request.EsSOWMaster.SOWMasters[0].SOWEndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture));
            queryParameters.Add("@PO", req.Request.EsSOWMaster.SOWMasters[0].PO);
            queryParameters.Add("@SOWType_SystemParamId", req.Request.EsSOWMaster.SOWMasters[0].SOWType_SystemParamId);
            queryParameters.Add("@ActionBySPOC", req.Request.EsSOWMaster.SOWMasters[0].ActionBySPOC);
            queryParameters.Add("@SOWAmount", req.Request.EsSOWMaster.SOWMasters[0].SOWAmount);
            queryParameters.Add("@AccountId", req.Request.EsSOWMaster.SOWMasters[0].AccountId);
            queryParameters.Add("@CustMgrId", req.Request.EsSOWMaster.SOWMasters[0].CustMgrId);
            queryParameters.Add("@Status_SystemParamId", req.Request.EsSOWMaster.SOWMasters[0].Status_SystemParamId);
            queryParameters.Add("@PartialBilliing", req.Request.EsSOWMaster.SOWMasters[0].PartialBilliing);
            queryParameters.Add("@FOC", req.Request.EsSOWMaster.SOWMasters[0].FOC);
            queryParameters.Add("@CreatedUser", user);

            ////ResourceUtilizationDetails Table
            var resourceUtilizationDetailsList  = req.Request.EsSOWMaster.SOWMasters[0].ResourceUtilizationDetails;
            var resourceUtilizationDetailsTable = new DataTable();

            resourceUtilizationDetailsTable.Columns.Add("ResourceId", typeof(int));
            resourceUtilizationDetailsTable.Columns.Add("WorkOrderStartDate", typeof(string));
            resourceUtilizationDetailsTable.Columns.Add("WorkOrderEndDate", typeof(string));
            resourceUtilizationDetailsTable.Columns.Add("FoCStartDate", typeof(string));
            resourceUtilizationDetailsTable.Columns.Add("FoCEndDate", typeof(string));

            foreach (var item in resourceUtilizationDetailsList)
            {
                DataRow dr = resourceUtilizationDetailsTable.NewRow();
                dr["ResourceId"]         = item.ResourceId;
                dr["WorkOrderStartDate"] = string.IsNullOrEmpty(item.WorkOrderStartDate) ? (object)DBNull.Value : DateTime.ParseExact(item.WorkOrderStartDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                dr["WorkOrderEndDate"]   = string.IsNullOrEmpty(item.WorkOrderEndDate) ? (object)DBNull.Value : DateTime.ParseExact(item.WorkOrderEndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                dr["FoCStartDate"]       = string.IsNullOrEmpty(item.FoCStartDate) ? (object)DBNull.Value : DateTime.ParseExact(item.FoCStartDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                dr["FoCEndDate"]         = string.IsNullOrEmpty(item.FoCEndDate) ? (object)DBNull.Value : DateTime.ParseExact(item.FoCEndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
                resourceUtilizationDetailsTable.Rows.Add(dr);
            }

            queryParameters.Add("@RUD", resourceUtilizationDetailsTable.AsTableValuedParameter("dbo.ResourceUtilizationDetailsType"));

            ////PricingScheduleDetails Table
            var pricingScheduleDetailList  = req.Request.EsSOWMaster.SOWMasters[0].PricingScheduleDetails;
            var pricingScheduleDetailTable = new DataTable();

            pricingScheduleDetailTable.Columns.Add("MonthName", typeof(string));
            pricingScheduleDetailTable.Columns.Add("BillableDays", typeof(int));
            pricingScheduleDetailTable.Columns.Add("MilestoneName", typeof(string));
            pricingScheduleDetailTable.Columns.Add("MilestoneValue", typeof(string));

            foreach (var item in pricingScheduleDetailList)
            {
                DataRow dr = pricingScheduleDetailTable.NewRow();
                dr["MonthName"]      = item.MonthName;
                dr["BillableDays"]   = item.BillableDays;
                dr["MilestoneName"]  = item.MilestoneName;
                dr["MilestoneValue"] = item.MilestoneValue;
                pricingScheduleDetailTable.Rows.Add(dr);
            }

            queryParameters.Add("@PSD", pricingScheduleDetailTable.AsTableValuedParameter("dbo.PricingScheduleDetailsType"));

            //Output from SP
            queryParameters.Add("@SavedSOWNo", dbType: DbType.String, direction: ParameterDirection.Output, size: 50);

            SqlMapper.Execute(con, "dbo.sp_SOWMasterInsert", queryParameters, commandType: StoredProcedure);

            var data = queryParameters.Get <string>("@SavedSOWNo");

            SOWSaveRes saveRes = new SOWSaveRes
            {
                Response = new SaveResponse()
            };

            saveRes.Response.SOWNo    = data;
            saveRes.Response.EsErrors = null;

            return(saveRes);
        }
Exemple #3
0
 public SOWSaveRes InsertSOWMaster(SOWReq req, string user)
 {
     return(this._sowMasterCommand.InsertSOWMaster(req, user));
 }