public BaseApiResponse InsertOrUpdateOrderWizardStep3(OrderWizardStep3 model)
        {
            var response = new BaseApiResponse();

            try
            {
                SqlParameter[] param =
                {
                    new SqlParameter("OrderId", (object)model.OrderId ?? (object)DBNull.Value)
                    ,                           new SqlParameter("RecordsOf", (object)model.RecordsOf ?? (object)DBNull.Value)
                    ,                           new SqlParameter("SSN", (object)model.SSN ?? (object)DBNull.Value)
                    ,                           new SqlParameter("DateOfBirth", (object)model.DateOfBirth ?? (object)DBNull.Value)
                    ,                           new SqlParameter("DateOfDeath", (object)model.DateOfDeath ?? (object)DBNull.Value)
                    ,                           new SqlParameter("Address1", (object)model.Address1 ?? (object)DBNull.Value)
                    ,                           new SqlParameter("Address2", (object)model.Address2 ?? (object)DBNull.Value)
                    ,                           new SqlParameter("City", (object)model.City ?? (object)DBNull.Value)
                    ,                           new SqlParameter("State", (object)model.State ?? (object)DBNull.Value)
                    ,                           new SqlParameter("Zip", (object)model.ZipCode ?? (object)DBNull.Value)
                    ,                           new SqlParameter("PatientTypeId", (object)model.PatientTypeId ?? (object)DBNull.Value)
                    ,                           new SqlParameter("CreatedBy", (object)model.EmpId ?? (object)DBNull.Value)
                    ,                           new SqlParameter("UserAccessId ", (object)model.UserAccessId ?? (object)DBNull.Value)
                };
                var result = _repository.ExecuteSQL <long>("InsertOrUpdateOrderWizardStep3", param).FirstOrDefault();

                if (result > 0)
                {
                    response.Success        = true;
                    response.lng_InsertedId = result;
                }
            }
            catch (Exception ex)
            {
                response.Message.Add(ex.Message);
            }

            return(response);
        }
示例#2
0
        public async Task <BaseApiResponse> SubmitOrder(OrderWizardStep1 model)
        {
            var response = new BaseApiResponse();

            // IF NO LOCATION IS INSERTED DURING NEW ORDER THEN ASSIGN DEFAULT LOCATION

            int partCount = 0;

            SqlParameter[] paramPartCount = { new SqlParameter("OrderNo", (object)model.OrderId ?? (object)DBNull.Value) };

            partCount = _repository.ExecuteSQL <int>("CountTotalPartByOrderNo", paramPartCount).FirstOrDefault();


            if (partCount == 0)
            {
                int recordType = 4; // Billing Records
                try
                {
                    string defaultLocation = GetDefaultLocationByCompanyNo(model.CompanyNo);

                    OrderWizardStep3 resultStep3 = new OrderWizardStep3();

                    SqlParameter[] paramStep3 = { new SqlParameter("OrderId", (object)model.OrderId ?? (object)DBNull.Value) };
                    resultStep3 = _repository.ExecuteSQL <OrderWizardStep3>("GetOrderWizardStep3Details", paramStep3).FirstOrDefault();



                    SqlParameter[] paramScope = { new SqlParameter("OrderNo", (object)model.OrderId ?? (object)DBNull.Value)
                                                  ,                           new SqlParameter("RecType", (object)recordType ?? (object)DBNull.Value) };

                    string resultScope = _repository.ExecuteSQL <string>("GetScopeForLocation", paramScope).FirstOrDefault();



                    OrderWizardStep6 defaultPart = new OrderWizardStep6();
                    defaultPart.OrderId         = Convert.ToInt64(model.OrderId);
                    defaultPart.LocID           = defaultLocation;
                    defaultPart.EmpId           = model.EmpId;
                    defaultPart.IsAuthorization = true;
                    defaultPart.RecordTypeId    = recordType;
                    defaultPart.RequestMeansId  = 1;
                    defaultPart.ScopeStartDate  = resultStep3.DateOfBirth;
                    defaultPart.ScopeEndDate    = DateTime.Now.Date;
                    defaultPart.Scope           = resultScope;

                    OrderWizardStep6ApiController step6 = new OrderWizardStep6ApiController();
                    await step6.InsertOrUpdateOrderWizardStep6(defaultPart);
                }
                catch (Exception ex)
                {
                }
            }


            try
            {
                if (model.OrderId > 0)
                {
                    SqlParameter[] Sqlparam    = { new SqlParameter("OrderId", (object)model.OrderId ?? (object)DBNull.Value) };
                    var            orderResult = _repository.ExecuteSQL <OrderWizardStep1>("GetOrderWizardStep1Details", Sqlparam).ToList();
                    if (orderResult != null && orderResult.Count > 0)
                    {
                        model.SubmitStatus = orderResult[0].SubmitStatus;
                    }
                    int result = 0;
                    try
                    {
                        SqlParameter[] param = { new SqlParameter("OrderId", (object)model.OrderId ?? (object)DBNull.Value)
                                                 ,                           new SqlParameter("UpdatedBy", (object)model.EmpId ?? (object)DBNull.Value)
                                                 ,                           new SqlParameter("UserAccessId", (object)model.UserAccessId ?? (object)DBNull.Value) };

                        result = _repository.ExecuteSQL <int>("SubmitOrder", param).FirstOrDefault();
                    }
                    catch (Exception ex)
                    {
                    }
                    if (result > 0)
                    {
                        //Upload Location Documents on Final Submit
                        SqlParameter[] SqlFileparam = { new SqlParameter("OrderNo", (object)model.OrderId ?? (object)DBNull.Value),
                                                        new SqlParameter("PartNo",  (object)0 ?? (object)DBNull.Value) };
                        var            LocDocumentList = _repository.ExecuteSQL <LocationFilesModel>("GetLocationTempFilesForNewOrder", SqlFileparam).ToList();
                        if (LocDocumentList != null && LocDocumentList.Count > 0)
                        {
                            string sourcePath      = ConfigurationManager.AppSettings["AttachPathLocal"].ToString();
                            string destinationPath = ConfigurationManager.AppSettings["UploadRoot"].ToString();
                            foreach (var item in LocDocumentList)
                            {
                                SqlParameter[] deleteattachparam =
                                {
                                    new SqlParameter("OrderNo",           (object)model.OrderId ?? (object)DBNull.Value),
                                    new SqlParameter("PartNo",            (object)item.PartNo ?? (object)DBNull.Value),
                                    new SqlParameter("FileTypeId",        (object)item.FileTypeId ?? (object)DBNull.Value),
                                    new SqlParameter("DeleteFromLocFile", (object)(int)0 ?? (object)DBNull.Value),
                                    new SqlParameter("LocFileId",         (object)(int)0 ?? (object)DBNull.Value)
                                };
                                _repository.ExecuteSQL <int>("DeleteLocationFile", deleteattachparam).FirstOrDefault();
                            }
                            foreach (var docitem in LocDocumentList)
                            {
                                var    destPath     = destinationPath + "/" + docitem.OrderNo + "/" + docitem.PartNo;
                                string fileDiskName = new Document().MoveLocalToServerFile(docitem.FileName, docitem.BatchId, sourcePath, destPath, docitem.OrderNo, docitem.PartNo.ToString());
                                docitem.OrderNo      = Convert.ToInt32(docitem.OrderNo);
                                docitem.FileDiskName = fileDiskName;
                                docitem.Pages        = 0;
                                string xmlAttachData = ConvertToXml <LocationFilesModel> .GetXMLString(new List <LocationFilesModel>() { docitem });

                                SqlParameter[] attachparam = { new SqlParameter("xmlDataString", (object)xmlAttachData ?? (object)DBNull.Value) };
                                _repository.ExecuteSQL <int>("InsertFiles", attachparam).FirstOrDefault();
                            }
                            foreach (var docitem in LocDocumentList)
                            {
                                Document docobj = new Document();
                                docobj.DeleteAttchFile(docitem.FileName, docitem.BatchId, sourcePath);
                            }
                            SqlParameter[] deleteLocationFile =
                            {
                                new SqlParameter("OrderNo", (object)model.OrderId ?? (object)DBNull.Value)
                            };
                            _repository.ExecuteSQL <int>("DeleteLocationFileByOrderNo", deleteLocationFile).FirstOrDefault();
                        }

                        await new OrderProcess().OrderSummaryEmail(Convert.ToInt32(model.OrderId), model.UserEmail, model.CompanyNo, Convert.ToInt32(model.SubmitStatus));
                        await new OrderProcess().AddQuickformsForNewOrder(Convert.ToInt32(model.OrderId), Convert.ToBoolean(model.SubmitStatus), Convert.ToBoolean(model.SubmitStatus), logoDirectoryPath: HttpContext.Current.Server.MapPath(@"~/assets/images/"));

                        // await new OrderProcess().ESignature(Convert.ToInt32(model.OrderId), model.CompanyNo);

                        InsertWaiverForNewOrder(Convert.ToInt32(model.OrderId));

                        // UPDATE isAddedPart TO 0 OF ALL PART AFTER PROCESSING ORDER
                        SqlParameter[] paramAddedPart  = { new SqlParameter("OrderNo", (object)model.OrderId ?? (object)DBNull.Value) };
                        int            resultAddedPart = _repository.ExecuteSQL <int>("SubmitOrderUpdateisAddedPart", paramAddedPart).FirstOrDefault();

                        response.Success = true;
                    }
                }
            }
            catch (Exception ex)
            {
                response.Message.Add(ex.Message);
            }

            return(response);
        }